I have a wix installer which is used to install different versions of the software. Parallel installations of the same software (diff versions) is allowed. The wix product code is '*' so it is always a major upgrade.
Now, I need to selectively uninstall previous versions of the software. For this I have defined the range of versions in the UpgradeVersion tag?
<Upgrade Id="ID">
<UpgradeVersion Minimum="0.0.0.0" Maximum="0.5.0.0" IncludeMinimum="yes" IncludeMaximum="no" Property="FORCEREMOVEOLDVERSION" />
<UpgradeVersion Minimum="0.6.0.0" Maximum="0.7.0.0" IncludeMinimum="yes" IncludeMaximum="yes" Property="SELECTIVELY_UNINSTALL" />
<UpgradeVersion Minimum="0.8.0.0" Maximum="1.5" IncludeMinimum="yes" IncludeMaximum="yes" Property="OLDERVERSIONDETECTED" />
</Upgrade>
This works perfectly. But, when I have to selectively uninstall the range 0.6 - 0.7 how do I have a separate action to do this as there is only one RemoveExistingProducts tag.
<InstallExecuteSequence>
<RemoveExistingProducts Overridable="no" Before="InstallInitialize" />
</InstallExecuteSequence>
Can you please suggest possible way to be able to check the 'SELECTIVELY_UNINSTALL' flag and remove the range (0.6-0.7) on this, while automatically removing other previous versions?
Thanks.