Hi All,

I run into a stange problem. Forgive me if this question is a bit of long. I 
try to make it shorter.
I need your hlep.

We're using WiX version 3.0.4805.0.

The problem is: 
---------------
I have 3 builds. They have exactly the same feature set. They are just built at 
different time. So we can say they are almost identical. I ALWAYS use "Major 
Upgrade". That means every time the new build will uninstall the previous build 
first and then install the new one. Of course, the build server updates the 
package code, product code, and the product version before making the build. 
All of these 3 builds have the same upgrade code. I thought these 3 builds can 
be used to upgrade each other. Namely, any build can upgrade another build 
without problem. But I found this is not true. Some times, when upgrading from 
a build to another, some files are not installed during upgrading. Then it 
caused the application crash. So this is very serious for us..

My question is: 
---------------
does anyone get the similar issue? Is this a known issue? Or even a bug in 
major upgrade(this is the last thing I'd like to say)? Please help.

I'd like to clarify something here:
-----------------------------------
1. By installing each build alone without having any "previous" build, the 
installation is fine. All files are installed properly.
2. I'm sure "Major Upgrade" works. Because I keep the same UpgradeCode among 
these builds. Of course, I change package code, product code and product 
version each time before making a build. During upgrading, I can even visually 
see the previous build folder is removed prior the current build installation.
3. During upgrading, sometimes 1 file is missing; sometimes, 3 files are 
missing.
4. It always happens to one particular file or three files, but not other 
files. All of these 3 files have their own distinct GUID. And no, these GUIDs 
are never used by any other files or component.
5. I checked the log file, for successful upgrading, there are some log like 
this(for failed upgrading, these records can't be found in log file):
MSI (s) (C4:54) [17:29:02:497]: Executing op: 
FileCopy(SourceName=nvhelxcr.dll|Win32Interop.dll,SourceCabKey=Win32Interop.dll,DestName=Win32Interop.dll,Attributes=1536,FileSize=10752,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,Version=1.0.3399.27010,Language=0,InstallMode=58982400,,,,,,,)
MSI (s) (C4:54) [17:29:02:497]: File: C:\Program 
Files\MyCompany\MyApp\Win32Interop.dll;To be installed;Won't patch;No existing 
file
MSI (s) (C4:54) [17:29:02:497]: Source for file 'Win32Interop.dll' is compressed
InstallFiles: File: Win32Interop.dll,  Directory: C:\Program 
Files\MyCompany\MyApp\,  Size: 10752
MSI (s) (C4:54) [17:29:02:497]: Note: 1: 2318 2: C:\Program 
Files\MyCompany\MyApp\Win32Interop.dll 
MSI (s) (C4:54) [17:29:02:497]: Note: 1: 2360 
6. I didn't really change anything when building these builds. They were just 
built at different time.

To make more testing, I made 5 builds. 
Here are their versions and testing results:
--------------------------------------------
4.0.59, 4.0.64, 4.0.65, 4.0.77, and 4.0.78

4.0 is the version, 59, 64 etc. is the build stamp.

I then made the testing. I tried 20 upgrade installation among these 5 builds. 
Here are the results I got(I also attach a screen shot of this testing matrix, 
not sure if you can see it or not. But it should be the same as this table 
below):

   |  59  |  64  |  65  |  77  |  78  
---------------------------------------
59 |  -   |  OK  |  OK  |  OK  |  OK
---------------------------------------
64 | KO-E2|  -   | KO-E2|  OK  |  OK
---------------------------------------
65 | KO-E2|  OK  |  -   |  OK  |  OK
---------------------------------------
77 | KO-E1| KO-E1|  OK  |   -  |  OK
---------------------------------------
78 | KO-E1|  OK  | KO-E1| KO-E1|  - 
---------------------------------------

The build stamp listed in the first row and column. 

Here is how to read this matrix:
--------------------------------
1. For each unit, read the row first and then column. For example, the unit in 
the 2nd row and 4th column is read as "59->65". It means we need to install 
build 59 first and then build 65. So this upgrade(from 65 to 59) is OK.
2. "-" means there is no upgrade
3. "OK" means the upgrade is good. A good installation should install 37 files.
4. "KO-E1" means upgrade is NOT OK, Error Case 1: it only installs 34 files, 
missing 3 files such as Win32Interop.dll etc.
5. "KO-E2" means upgrade is NOT OK, Error Case 2: it only installs 36 files, 
missing Win32Interop.dll.

This problem is really annoying. I tried my best to think about the whole 
thing, but I couldn't figure it out. I hope that is my problem. But, really, I 
went through my code again, there is nothing special about these files. As what 
you can see, the build 78 can be installed on top of 77, but not vice versa. It 
doesn't make sense. 
This problem might have happened before in our builds. But no one may have paid 
any attention on it until today. 

I really appreciate if any one can give me some clue.

Many thanks in advance.
/Brian


      __________________________________________________________________
Make your browsing faster, safer, and easier with the new Internet Explorer® 8. 
Optimized for Yahoo! Get it Now for Free! at 
http://downloads.yahoo.com/ca/internetexplorer/
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensign option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to