Hello, Using WiX 2.0, I'm trying to set up a patching scheme where if the user has installed a 1.00 version of the product they can apply patches they come out for that version. However, I'm missing something big because I can only get a single patch to work and no subsequent patches as they fail with error 1642.
Scenario: - The user has installed 1.00. - A 1.01 patch is released and they apply it. - A 1.02 patch that contains the 1.01 fixes is released and the user can apply it. - A 1.03 patch that contains both 1.01 and 1.02 fixes is released, they *skip* that patch. - A 1.04 patch that sums up 1.01-1.03 fixes is released, and when applied, gets them all fixes up through 1.04. In other words, I want the patches to be cumulative so whenever the client feels like upgrading as patches are released, the install accounts for whatever patch level version they have on the machine and brings them to the latest and greatest. If I create separate patches for each version, they can all be properly applied in order, but I want a single patch file that will Here's what I've done: 1. Created the 1.00, 1.01, and 1.02 full installs with the same GUIDs for product codes and upgrade codes. The full installs properly upgrade the existing older installations. 2. Using the steps from the tutorial (http://www.tramontana.co.hu/wix/lesson4.php), I've created two .WXS files, Patch1.0-1.01.wxs and Patch1.0-1.02.wxs. 3. Key parts of Patch1.0-1.01.wxs: <PatchCreation Id='F3F065D3-45CE-4B24-8759-925608FCE97F' AllowMajorVersionMismatches='no' AllowProductCodeMismatches='no' CleanWorkingFolder='no' WholeFilesOnly='no'> ... <UpgradeImage Id='Patch_fixed' src='.\ADMIN1.01\Version1.01.msi'> <TargetImage Id='Patch_error' Order='1' IgnoreMissingFiles='no' SourceFile='.\ADMIN1.0\Version1.00.msi' /> </UpgradeImage> </Family> <TargetProductCode Id='549A9B54-40DD-46DC-A960-5F76BB921BFF' /> ... 4. Doing the tutorial steps, I created the .MSP and it properly updates from 1.00 to 1.01. 5. Key parts of Patch1.0-1.02.wxs (notice that I'm building the patch from 1.00 sources and the 1.02 sources): <PatchCreation Id='A5B7EB6F-427A-485C-A9AE-D5B033CF05B3' AllowMajorVersionMismatches='no' AllowProductCodeMismatches='no' CleanWorkingFolder='no' WholeFilesOnly='no'> ... <UpgradeImage Id='Patch_fixed' src='.\ADMIN1.02\Version1.02.msi'> <TargetImage Id='Patch_error' Order='1' IgnoreMissingFiles='no' SourceFile='.\ADMIN1.0\Version1.00.msi'/> </UpgradeImage> </Family> <TargetProductCode Id='549A9B54-40DD-46DC-A960-5F76BB921BFF' /> <ReplacePatch Id ='F3F065D3-45CE-4B24-8759-925608FCE97F'/> ... 6. When applying the 1.02 patch to the updated 1.01 the log reports: MSI (c) (F4:F4) [17:24:39:546]: Final Patch Application Order: MSI (c) (F4:F4) [17:24:39:546]: {F3F065D3-45CE-4B24-8759-925608FCE97F} - MSI (c) (F4:F4) [17:24:39:546]: Other Patches: MSI (c) (F4:F4) [17:24:39:546]: Unknown\Absent: {A5B7EB6F-427A-485C-A9AE-D5B033CF05B3} - C:\Junk\Cruft\patching\Test\Patch1.0-1.02.msp The upgrade cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade may update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade. C:\Windows\Installer\bea84f0.msi MSI (c) (F4:F4) [17:24:39:547]: Product: Foobar 1.0 - Update '{A5B7EB6F-427A-485C-A9AE-D5B033CF05B3}' could not be installed. Error code 1642. Additional information is available in the log file C:\Junk\Cruft\patching\Test\log.log. MSI (c) (F4:F4) [17:24:39:548]: Windows Installer installed an update. Product Name: Foobar 1.0. Product Version: 1.0.0. Product Language: 1033. Update Name: {A5B7EB6F-427A-485C-A9AE-D5B033CF05B3}. Installation success or error status: 1642. MSI (c) (F4:F4) [17:24:39:548]: Product: Foobar 1.0 -- Installation failed. MSI (c) (F4:F4) [17:24:39:549]: Windows Installer installed the product. Product Name: Foobar 1.0. Product Version: 1.0.0. Product Language: 1033. Installation success or error status: 1642. Any help greatly appreciated. John Wintellect http://www.wintellect.com 877-968-5528 ------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users