Majorupgrade或升级ID其优选用于重大升级?(Majorupgrade or Upgrad

2019-06-25 11:24发布

我们正在尝试做的主要升级。 虽然我正在调查,我发现2点的方法。

一种是使用升级Id和另外一个方法是Majorupgrade标签。

这似乎Majorupgrade是很容易做到看来。 但规划不installinitialize行动之前包含任何。

我不知道这应该使用。

哪一个是首选[和推荐]大多?

Answer 1:

该MajorUpgrade元素威克斯3.5的推出,以简化你通常会用做升级元素。 所以,与其是这样的:

<!– Major upgrade –> 
<Upgrade Id="$(var.UpgradeCode)"> 
    <UpgradeVersion Minimum="$(var.ProductVersion)" OnlyDetect="yes" Property="NEWERVERSIONDETECTED" /> 
    <UpgradeVersion Minimum="1.0.0" IncludeMinimum="yes" Maximum="$(var.ProductVersion)" IncludeMaximum="no" Property="OLDERVERSIONBEINGUPGRADED" /> 
</Upgrade>

<InstallExecuteSequence> 
    <RemoveExistingProducts After="InstallValidate" /> 
</InstallExecuteSequence>

<Condition Message="Can't downgrade"> 
    NOT NEWERVERSIONDETECTED 
</Condition>

你可以简单地这样做:

<MajorUpgrade DowngradeErrorMessage="Can’t downgrade." />

不仅是老样子更详细,还要求你重复这是在指定的升级代码和产品版本的产品元素。 所以在上面的示例有权使用的WiX的变量,以保持同步。 如果您收到错误,升级将无法正常工作。

MajorUpgrade元素现在没有那些复杂的,所以我建议你使用它。 另见本由鲍勃Arnson引入博客文章MajorUpgrade和在威克斯文档中议题上的主题。



文章来源: Majorupgrade or Upgrade ID which is preferred for Major upgrade?