Are you saying that you are changing the ComponentRef/@Id in the patch family 
and generating a bunch of different patches off of this template? Are you 
changing the name if the PatchFamily as well? If so, your patches are probably 
superseding eachother. Once you define the contents of a patch family, you can 
only add to it, and not remove anything from it until you reset your baseline. 
You need to have a patchfamily per component to get this to work and if you 
want to also control the order in which these transforms are applied, you will 
need a second patch family that is common to all your patches (with no content) 
where the version of the patch family dictates the order. This will force the 
updates to sequence properly and not supercede.

I hope this helps and that I understood your question properly.

-----Original Message-----
From: keith.doug...@statcan.gc.ca [mailto:keith.doug...@statcan.gc.ca] 
Sent: Monday, May 7, 2012 1:07 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Patches on patches

I'm trying to work out how to allow an initial MSI to be "fixed" by an 
arbitrary (fortunately linear) chain of MSPs. Following the documentation I can 
do the first link in the chain, but when I apply the same sort of MSP to the 
resulting bit, it fails to install with the "make sure you have the product 
installed" etc. message.

Here's a WXS file used to generate my patch:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
  <Patch AllowRemoval="yes" Manufacturer="Statistics Canada" 
MoreInfoURL="http://f7cmdev15/"; DisplayName="Patch" Description="Small update 
patch" Classification="Update">
    <Media Id="5000" Cabinet="RTM.cab">
      <PatchBaseline Id="RTM" />
    </Media>
    <PatchFamilyRef Id="SamplePatchFamily" />
  </Patch>
  <Fragment>
    <PatchFamily Id="SamplePatchFamily" Version="1.0.0.0" Supersede="yes">
      <ComponentRef Id="Fbfda1e7e1ccd4" />
    </PatchFamily>
  </Fragment>
</Wix>

At each stage of the chain I've simply been changing the ComponentRefs 
appropriately in the PatchFamily. Those of you who remember my previous 
questions may recall that I intend this to be all hidden away in an automatic 
tool, so what I've done is compared new to old in the full WXS for the new MSI 
and put in all changed ComponentRefs, which as far as I can tell works at the 
first stage but fails once you have the first MSP installed.

I figure it has something to do with the PatchBaseline being wrong, but don't 
know for sure, since the documentation is unclear to me here.





Keith Douglas
Statistics Canada | 170 Tunney's Pasture Driveway, Ottawa ON K1A 0T6 
Statistique Canada | 170, promenade Tunney's Pasture, Ottawa ON K1A 0T6 
keith.doug...@statcan.gc.ca Telephone | Téléphone 613-951-4405 Facsimile | 
Télécopieur 613-951-1966 Government of Canada | Gouvernement du Canada 



------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and threat 
landscape has changed and how IT managers can respond. Discussions will include 
endpoint security, mobile security and the latest in malware threats. 
http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to