After searching through the email archives, I have yet to find any solution to similar patching questions that have been asked multiple times.
The patching scenario is as follows: The product 1.0 is released. The patch 1.01.msp is released and built against 1.0. Another patch is needed, 1.02.msp. This patch is built against 1.0 so it would include all of the changes since the original release. (The plan is that 1.02.msp would supercede 1.01.msp and not require 1.01.msp to be installed.) However, if 1.01.msp is already installed, then the installation of 1.02.msp will fail with the error: "The upgrade patch cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade patch 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 patch." So, as nobody has ever posted a solution to such a problem, is this concept of patching not even supported? Is the only solution to patch against the last patch, and thus require multiple patches for the product? This is a common problem that I can't find an answer for, and this problem appears to have also affected Office 2003 SP2. It would be nice to know how they got around the problem for their future releases. http://support.microsoft.com/kb/906323 Please cc me on any responses. Thank you, Jon ==================================================== I hope so... _____ From: Shmarya Rubenstein [mailto:[EMAIL PROTECTED] Sent: 17 May 2006 07:50 To: Simon Topley Cc: [EMAIL PROTECTED] Isn't there a btter way to do this? On 5/15/06, Simon Topley <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > wrote: I did, but the solution I came up with is far from elegant. I ended up producing a daily patch sequentially (i.e from the previous days build) and then automatically adding them to a self extracting exe file (using iexpress and SED files) which executes a command containing every patch in the file : msiexec /update a-b.msp;b-c.msp;c-d.msp It seems to work well, as it will update any version to the latest version without complaining about trying to update it with an older patch.. So yes I solved it, but no I'm not happy with it. Simon. _____ From: Rob Mensching [mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ] Sent: 11 May 2006 21:08 To: 'Simon Topley'; [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> Subject: RE: [WiX-users] Patches, Versions, Daily builds, and the fire that forges us. Simon, did you get this to work? _____ From: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> [mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ] On Behalf Of Simon Topley Sent: Wednesday, April 26, 2006 5:00 AM To: '[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ' Subject: [WiX-users] Patches, Versions, Daily builds, and the fire that forges us. Hello again eveyone, I'm still hammering away at these patches and I'm still runing into a few problem with relation to versions. With each patch I increment the version number (as is the style so I understand it) this is great for one patch, however if I try to patch an install that has already been patched it refuses to work due to the minor version number not being the same as the the minor version the patch was created for. We have daily builds like most and our support staff want a way to install each daily build without having to uninstall the previous version, patches seemed like a good idea. Since it appeared a patch could be installed on any version as long as it's the same major release. This maybe easier to put across with a's b's and c's: Installer a version 1.0 (major release) Installer b version 1.01 (patch release) Installer c version 1.01.1 (internal daily build patch) So I install "a" and patch it with a patch produced from "b", lets call it "a-b" a-b patch works fine, A-c patch fails to install due to minor version mismatch (guids for patch have been changed and the guid for "a-b" has been added to "ReplacePatch" section. If I patch "a" with "a-c" before "a-b" it works fine, if I then patch THAT with "a-b" it works! How can this be. So I was annoyed and I produced a "b-c" patch, which does work fine after installing the "a-b" patch. I can however use REINSTALLMODE=vomus to force it to ignore the version, but that kind of defeats the point since people could patch anything with anything. I could also forced people to install there patches incrementally "a-b" "b-c" etc, but that seems to defeat the point also..."ReplacePatch" would seem to be useless. It seems the rules for these patches are strict but that I must have messed up somewhere since my patches are all over the place. I want to beable to install "a" then patch it with "a-z" and for that patch to apply everything that has changed since the release regardless of what other patches have been installed, unless they are newer patches.. In which case I want it to tell me so. Which is what I thought this would do: <Upgrade Id='5A8FBD73-EEEB-4400-B6DA-5C13F41732F2'> <UpgradeVersion OnlyDetect='yes' Property='PATCHFOUND' IncludeMinimum='yes' Minimum='$(var.VersionMajor).$(var.VersionMinor)' Maximum="$(var.VersionMajor).$(var.VersionMinor)$(var.PatchGeneration)" IncludeMaximum="no" /> </Upgrade> <CustomAction Id='AlreadyUpdated' Error='$(var.ProductName) has already been updated to $(var.VersionMajor).$(var.VersionMinor)$(var.PatchGeneration)$(var.PatchBuil d) or newer.' /> <InstallExecuteSequence> <Custom Action='AlreadyUpdated' After='FindRelatedProducts'>PATCHFOUND</Custom> </InstallExecuteSequence> I suppose what I'm really after is a tutorial that goes three steps with patches instead of only two. If that all reads like complete jibberish then I know I've got my point across... _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users