[wix-users] burn upgrade - installer variants

Wesley Manning wmanning at dynagen.ca
Tue Oct 24 10:01:31 PDT 2017


Hi,

I've been using wix (burn, stdba) for about five years now with no issue.  I always created an installer using burn with compressed=no under <Bundle>.

I decided for this release (v2.9.0.4) to package everything inside the bundle.  Basically, have a bundle with compressed=yes.  Instead of changing over our existing installer I decided to create an additional installer (so from this release forward I will have two installers per release) with the only difference is the compression is set to yes/no under <Bundle>.  Since the two bundles are identical I moved all the common stuff to a library. This includes the UpgradeCode guid so both bundles use the same upgrade code

I was testing the compressed=yes installer (v2.9.0.4) and I found that it would not uninstall the previous bundle (v2.8.0.8) even though the upgrade code is the same. It had this in the log:
"Detected related bundle: {9197e4f4-173b-4820-a31c-b41658841b40}, type: Detect, scope: PerMachine, version: 2.8.0.8, operation: None"
I found the exact same thing when I tested the compressed=no installer.

As a test I then added a <ReleatedBundle> with action=upgrade to the library set to my upgradeCode guid.  When I tested this it worked. Log contained:
"Detected related bundle: {9197e4f4-173b-4820-a31c-b41658841b40}, type: Upgrade, scope: PerMachine, version: 2.8.0.8, operation: MajorUpgrade."

I was using 3.10.3 then switched to 3.11 with same result.

From my understanding the upgradeCode is basically a <ReleatedBundle> with action set to upgrade. So I'm not sure why I had to add a releatedbundle set to the upgradeCode guid to get it to work. Can anybody explain this? 

Here is bundle code for non compressed version of installer:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
     >
  <Bundle Name="!(wix.RapidCoreInstallerName)" Version="!(wix.RapidCoreInstallerVersion)" Manufacturer="!(wix.RapidCoreManufacturerName)" UpgradeCode="!(wix.RapidCoreInstallerUpgradeGuid)"
          IconSourceFile="!(wix.RapidCoreInstallerIconSourceFile)" HelpUrl="!(wix.RapidCoreInstallerUrl)"
          Condition="VersionNT >= v5.1"
          DisableModify="button"
          Compressed="no"
          >

    <Chain>
      <PackageGroupRef Id="StandardInstaller"/>
    </Chain>

  </Bundle>

The new compressed version of the installer:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
	<Bundle Name="!(wix.RapidCoreInstallerName)" Version="!(wix.RapidCoreInstallerVersion)" Manufacturer="!(wix.RapidCoreManufacturerName)" UpgradeCode="!(wix.RapidCoreInstallerUpgradeGuid)"
          IconSourceFile="!(wix.RapidCoreInstallerIconSourceFile)" HelpUrl="!(wix.RapidCoreInstallerUrl)"
          Condition="VersionNT >= v5.1"
          DisableModify="button"
          Compressed="yes">

		<Chain>
      <PackageGroupRef Id="StandardInstaller"/>
		</Chain>
	</Bundle>
</Wix>
Everything same except the compressed code.

In the library (Library.wxs) I have: <WixVariable Id="RapidCoreInstallerUpgradeGuid"  Value="<put-guide-here>"/> and all the other common stuff.

Wes



More information about the wix-users mailing list