[wix-users] Component in Fragment Ignored for Upgrades

Rob Mensching rob at firegiant.com
Thu Jul 7 15:27:22 PDT 2016


Use major upgrade scheduled early.

_____________________________________________________________
 Short replies here. Complete answers over there: http://www.firegiant.com/


-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Henri (ThinAir)
Sent: Thursday, July 7, 2016 2:59 PM
To: wix-users at lists.wixtoolset.org
Subject: [wix-users] Component in Fragment Ignored for Upgrades

As part of my Installation package, I include a directory tree of files that get installed wholesale as a sub-folder in the installation directory.  The WXS for this tree is generated with Heat.  It works great for installing and uninstalling, but upgrades are not working.  During upgrades, all my other files/components are upgraded properly, but this Heat managed subtree is ignored.

I thought it was because I had pointed the Keypath for the top-level component to a file that doesn't change, so I added a trigger file that is generated during the build, with date/time stamp, and the version of that build, for good measure.  (I like those good measures.)  I made this file the Keypath for the top-level component and also added Checksum="yes" to it.
This made no difference.

I set the MSIENFORCEUPGRADECOMPONENTRULES property, to see if it would change anything.  I then got the 2771 error.  I thought this was interesting for two reasons.  The first reason is that if the feature/component rules are enforced not just for top-level components, but for all components in a hierarchy, then that makes Heat incompatible with upgrades, since the component IDs for the files are re-generated every time I run Heat.

The other reason I thought it was interesting is that it indicates the installer engine wanted to do something with that component, even though it ignores it otherwise.

I'm trying to play around with REINSTALLMODE to see if I can solve it that way, but I would rather not resort to that.  The reason is that we also use the VC redistributable merge modules, and my understanding is that a REINSTALLMODE overriding the file update logic can trigger the VC msm's to downgrade the user's installed CRT.

I'm open to any suggestions. 

Thanks,
  - Henri Hein



More information about the wix-users mailing list