little.forest
2009-04-23 23:07:27 UTC
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/
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/