I have tried to make an installation with the following requirements.
1. Should handle major upgrade and prevent downgrades.
2. Should handle minor upgrades/updates and prevent downgrade.
3. Should be patchable and prevent downgrade.
And of course all in the same package
So far I have run in to the one obstacle after another.
FindrelatedProducts does not run in maintenance mode so I can't really check for other products installed with the upgradeversion tag.
Can't have ProductCode="*" as pyro does not like that creating a patch.
Also I have noticed that preventing a downgrade, built according to https://www.firegiant.com/wix/tutorial/upgrades-and-modularization/, does not really work running the installation from a command line with the switches REINSTALL=ALL and REINSTALLMODE=vomus. Seems like the switches disregard the upgrade version settings.
I'm pretty sure that I missed something, but I can't see it. Does anybody have any tips on how to accomplish this?
My upgrade element looks like
<Upgrade Id="put-guid-here">
<UpgradeVersion OnlyDetect="yes" Property="SELFFOUND" Minimum="6.1.15119"
IncludeMinimum ="yes" Maximum="6.1.15124" IncludeMaximum="yes" />
<UpgradeVersion OnlyDetect="yes" Property="NEWERFOUND" Minimum="6.1.15124"
IncludeMinimum="no" />
</Upgrade>