There is a 'hacky' way to do it but bear in mind that once you follow the 'hacky' method, all future patches will be required to be built the same way. Also because you've 4 Products, your patches are going to be around 4 times as big as each Product will have it's own CAB (since it has it's own transforms).
You need a Patch Family for each unique Product (in your case 4). To get the new admin image for each one take a copy of the one you already have, open it in an MSI editor like InstEd! or Orca, set the Product Code to the same as one of the other versions & regenerate the Package code. Save your MSI & you now have a version which will update another Product. Do this another 2 times for the other 2 Products, set up your Patch Family's accordingly & add TargetProductCode elements for your 4 Products & it should create an MSP containing the transforms for each Product up to the new one (open the MSP in InstEd! or Orca & you should see a bunch of .mst files It is a horrible horrible hack though & as stated before, you'll need to keep doing the same for each subsequent patch which is neither fun nor quick to create & test each time. Personally I'd release a Major Upgrade in which you define your Product Code rather than using an auto-generated one & patch from that basis as it's more reliable & way less hassle. Moral of the story: Using * for Product Id isn't always a good idea. Palbinder Sandher Software Deployment & IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the <Virtual Environment>** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -----Original Message----- From: Tom Crozier [mailto:tcroz...@rackwise.com] Sent: 03 February 2011 20:13 To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] Patching multiple major upgrade releases with different product codes All - I have multiple versions of a product released in the field that I need to upgrade with a patch. The installer that all the versions are all based on can perform a major upgrade from a previous version. I believe they should have used the same product id but they don't because the wxs file has '*' for the product id. All the versions are basically the same except for a few additional files from the original version to the latest one. The version numbers of the installers only differ in the fourth place (e.g. 1.5.0.120, 1.5.0.147, 1.5.0.162 and 1.5.0.188)and they all use the same upgrade code. My question is how do I go about creating a patch that can upgrade all four versions and bring them up to the same version so they can be updated in the future? I seem to be able to create a patch against a single version but against multiple versions I get the following error. ERROR: Since MSI 3.0 will block installation of major upgrade patches with sequencing information, creation of such patches is blocked. The following is the start of my patch creation file which worked until I put the second TargetImage line in. <?xml version='1.0' encoding='windows-1252'?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <?define var.Manufacturer = "Acme, Inc."?> <?define var.PRODUCTNAME = "App" ?> <?define var.ReleaseNumber= "1.5.0" ?> <PatchCreation Id='{01865DA7-1DE1-45ab-BB7C-7B89CA10CBCC}' AllowMajorVersionMismatches='no' AllowProductCodeMismatches='yes' CleanWorkingFolder='yes' WholeFilesOnly='yes'> <PatchInformation Description="App SP 1" Keywords='Installer,MSI,Database' Comments='App SP 1' Manufacturer='$(var.Manufacturer)' Languages='1033' Compressed='yes' SummaryCodepage='1252' ShortNames="no" /> <PatchMetadata Description="1st service pack for App" DisplayName='App SP 1' TargetProductName='$(var.PRODUCTNAME) v$(var.ReleaseNumber)' ManufacturerName='$(var.Manufacturer)' MoreInfoURL='www.acme.com' Classification='Service Pack' AllowRemoval='no' /> <Family Name='APP150' DiskId='3' MediaSrcProp='APP150Src' SequenceStart='2000'> <UpgradeImage Id='PatchedImage' SourceFile='C:\Official Releases\1.5.0.227\AdminVer\App.msi'> <TargetImage Id='OrigImage' Order='2' IgnoreMissingFiles='no' SourceFile='C:\Official Releases\1.5.0.120\AdminVer\App.msi'/> <TargetImage Id='OrigImage2' Order='3' IgnoreMissingFiles='no' SourceFile='C:\Official Releases\1.5.0.147\AdminVer\App.msi'/> </UpgradeImage> </Family> </PatchCreation> </Wix> Thanks for your help Tom ------------------------------------------------------------------------ ------ The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ The modern datacenter depends on network connectivity to access resources and provide services. The best practices for maximizing a physical server's connectivity to a physical network are well understood - see how these rules translate into the virtual world? http://p.sf.net/sfu/oracle-sfdevnlfb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users