[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