I'm experiencing issues with minor upgrades in WiX v4 while major upgrades are working correctly. While the installer says successful, when trying to run the installed application, it throws errors as if the upgrade didn't complete properly, but clean installations and major upgrades work fine.
Current Implementation
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion Minimum="$(var.InitialVersion)"
Maximum="$(var.ProductVersion)"
Property="PREVIOUSVERSIONSINSTALLED"
IncludeMinimum="yes"
IncludeMaximum="yes" />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallInitialize"/>
</InstallExecuteSequence>
Version Details
- Initial Version (Base): 10.3.0.0
- Product Version (Currently being installed): 10.3.0.106
Setup Details
- Using a WiX bundle to package MSIs and prerequisites
- Clean installation works perfectly
- Major upgrade works as expected (when changing product codes)
- Minor upgrade appears to fail (only changing version number and keep everything else static)
Specific Requirements
I need to implement logic that:
- Detects if the upgrade is major or minor
- Performs the appropriate upgrade type based on the detection
Questions
- What could be causing the minor upgrade to fail while major upgrades work fine?
- Is there a recommended approach to implement conditional upgrade logic based on version detection?
- Are there any known issues with minor upgrades in WiX v4 that I should be aware of?
Environment
- WiX version: 4
Any insights or suggestions would be greatly appreciated.
I'm experiencing issues with minor upgrades in WiX v4 while major upgrades are working correctly. While the installer says successful, when trying to run the installed application, it throws errors as if the upgrade didn't complete properly, but clean installations and major upgrades work fine.
Current Implementation
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion Minimum="$(var.InitialVersion)"
Maximum="$(var.ProductVersion)"
Property="PREVIOUSVERSIONSINSTALLED"
IncludeMinimum="yes"
IncludeMaximum="yes" />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallInitialize"/>
</InstallExecuteSequence>
Version Details
- Initial Version (Base): 10.3.0.0
- Product Version (Currently being installed): 10.3.0.106
Setup Details
- Using a WiX bundle to package MSIs and prerequisites
- Clean installation works perfectly
- Major upgrade works as expected (when changing product codes)
- Minor upgrade appears to fail (only changing version number and keep everything else static)
Specific Requirements
I need to implement logic that:
- Detects if the upgrade is major or minor
- Performs the appropriate upgrade type based on the detection
Questions
- What could be causing the minor upgrade to fail while major upgrades work fine?
- Is there a recommended approach to implement conditional upgrade logic based on version detection?
- Are there any known issues with minor upgrades in WiX v4 that I should be aware of?
Environment
- WiX version: 4
Any insights or suggestions would be greatly appreciated.
Share Improve this question asked 2 days ago MaazaowskiMaazaowski 564 bronze badges1 Answer
Reset to default 0Try resetting your version to 10.3.106 instead of 10.3.0.106. Then test it again. I seem to remember something about MSI only recognizing the first 3 numbers in the version during a minor upgrade.