我使用wix编写我的安装程序。为了简单起见,我只处理主要的升级。我的代码是这样的:
<Product Id="*" UpgradeCode="SOME-GUID">
<Package Id="*">
<MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed."/>
现在我想在下一个版本中添加一个自定义操作,但我只希望在从某个版本范围升级时运行自定义操作。我研究了一次升级的详细日志,发现FindRelatedProducts
设置了两个属性:WIX_UPGRADE_DETECTED
和MIGRATE
。它们看起来像是之前安装的产品GUID。有办法知道版本吗?谢谢。
您可以使用Upgrade元素根据版本范围指定不同的属性。FildRelatedProducts标准操作也同样执行。
<Upgrade Id='PUT-GUID-2-HERE'>
<UpgradeVersion OnlyDetect='yes' Property='SELFFOUND'
Minimum='1.0.1' IncludeMinimum='yes'
Maximum='1.0.1' IncludeMaximum='yes' />
<UpgradeVersion OnlyDetect='yes' Property='NEWERFOUND'
Minimum='1.0.1' IncludeMinimum='no' />
</Upgrade>