We have a wix setup, which was working perfectly up until now. Recently we moved from Jenkins from Azure Devops for our CI, and some things have changed a tiny little bit(obfuscation, ...). But the whole wix solution didn't changed much(we had new features so we did add some components).
When doing the tests, we noticed that installing our new version(which is 5.1.2.x) on the top of a previous version(5.1.0) generated from jenkins, we get everything installed, no errors, only one setup, but in the install folder, some of the DLL we include in our setups(seems to be always the same) are missing(and obviously, we can't run properly our apps).
We declare the product like this:
<Product Id="*"
Codepage="1252"
Language="1033"
Manufacturer="$(var.MANUFACTURER)"
Name="$(var.PRODUCTNAME)"
UpgradeCode="705E9C74-7192-4F74-B7A4-4DE9428B6FFA"
Version="$(var.ProductVersion)">
And we have this as upgrade:
<MajorUpgrade Schedule="afterInstallValidate" DowngradeErrorMessage="!(loc.DOWNGRADE_ERROR_MESSAGE)" />
<Upgrade Id="705E9C74-7192-4F74-B7A4-4DE9428B6FFA">
<!--This is necessary to allow upgrading daily builds which will have all the same version but different product id
Ignore the ICE warning on compilation for this issue (the warning can be suppressed too)-->
<UpgradeVersion Property="INSTALLED_PRODUCT_CODES" IncludeMinimum="yes" Minimum="2.12.7" IncludeMaximum="yes" Maximum="$(var.ProductVersion)"/>
</Upgrade>
What we have confirmed so far:
- Uninstalling the 5.1.0 manually and installing the 5.1.2 works
- Installing only the 5.1.2 works
- Installing the 5.1.2 over the 5.1.0 removes some files
I've tried to move the MajorUpgrade
at the afterInstallFinalize
step, it asks to uninstall the 5.1.0 first and to launch again. BUT, the uninstallation fails. For what I see, I think the 5.1.2 setup has already copied some of new files?
So my question:
- How to force a full uninstall before anything gets installed from the new version
- Is there a way to say this full uninstall is only required from going to a version that is <=5.1.0 ?