我们正在尝试做的主要升级。 虽然我正在调查,我发现2点的方法。
一种是使用升级Id和另外一个方法是Majorupgrade标签。
这似乎Majorupgrade是很容易做到看来。 但规划不installinitialize行动之前包含任何。
我不知道这应该使用。
哪一个是首选[和推荐]大多?
我们正在尝试做的主要升级。 虽然我正在调查,我发现2点的方法。
一种是使用升级Id和另外一个方法是Majorupgrade标签。
这似乎Majorupgrade是很容易做到看来。 但规划不installinitialize行动之前包含任何。
我不知道这应该使用。
哪一个是首选[和推荐]大多?
该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
和在威克斯文档中议题上的主题。