I'm migrating an installer from InstallShield to WiX v4 with Bundle and having issues with minor upgrades. Here's my scenario:
Current Versioning Scheme:
Format:
x.y.z.a
where:x = major version (static for minor upgrades)
y = minor version
z = usually 0
a = build version
Minor upgrades occur when any number except the major version changes
Major version changes result in a separate installation with different upgrade/product codes
What I've Done:
Decompiled InstallShield MSI to preserve GUIDs and components
Created WiX MSI project with proper versioning
Created Bundle project to package MSI with prerequisites
The Issue:
The minor upgrade functionality isn't working as expected. Here's my configuration:
Product.wxs (msi project)
<Package
Codepage="1252"
Name="$(var.ProductName)"
Language="1033"
Version="$(var.ProductVersion)"
Manufacturer="$(var.ProductManufacturer)"
UpgradeCode="$(var.UpgradeCode)"
ProductCode="$(var.ProductCode)"
InstallerVersion="200">
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion Minimum="$(var.InitialVersion)"
Maximum="$(var.ProductVersion)"
Property="PREVIOUSVERSIONSINSTALLED"
IncludeMinimum="yes"
IncludeMaximum="yes" />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallInitialize"/>
</InstallExecuteSequence>
<!-- ... rest of package configuration ... -->
Bundle.wxs (bootstrapper project)
<Bundle Name="$(var.ProductName)"
Version="$(var.ProductVersion)"
Manufacturer="$(var.Manufacturer)"
UpgradeCode="{01F40945-4195-4FBE-886C-2F1137F21D6B}">
<RelatedBundle Action="Upgrade"
Id="{01F40945-4195-4FBE-886C-2F1137F21D6B}"/>
<!-- ... rest of bundle configuration ... -->
I'm testing with an initial version of x.y.0.0 trying to upgrade to a version with the same major and minor version but an incremented build version.
My Suspicion:
The issue might be related to the Bundle's UpgradeCode, which is a new addition compared to the InstallShield setup.
Has anyone successfully implemented minor upgrades with WiX v4 Bundles? What am I missing in my configuration?