如何使WiX Bundle版本与我的应用程序版本相同

时间:2013-08-16 14:43:40

标签: wix bootstrapper

WiX Bundle中的“Version”属性显示在程序和功能中。因此,这应该与我的实际应用程序的版本号相同,对吧?

在假设它们应该是相同的情况下,如何自动进行此更新似乎并不明显。我有MSIthis question执行,但不是Bundle / Bootstrapper位。如何让Bootstrapper Bundle做同样的事情并阅读MSI版本号?

2 个答案:

答案 0 :(得分:29)

要回答你的第一个问题,对此没有严格的规定。因此,更新您的WIX软件包版本并将其与您的MSI版本相匹配不是必须的。

关于第二个问题,我不太确定。但你可以试试这个活页夹变量:

!(bind.packageVersion.PackageID) 

编辑 PackageID替换为您正在安装的程序的元素“ID”属性。类似于:Version="!(bind.packageVersion.MyAppName)"

<MsiPackage SourceFile="SomePath\MyAppName.msi" Id="MyAppName"/>

如此POST中所述。另请检查WIX documentation以获取更多活页夹变量。

编辑 5/11/2017 - 看起来有关于packageID应该是什么的混淆,我根据Bob Lutz的答案编辑了答案。

答案 1 :(得分:16)

补充Isaiah4110的答案(我暂时无法评论,我的编辑被拒绝):

PackageID来自您链中某个包类型(例如MsiPackage,ExePackage ...)的Id值。所以要参考版本号 <MsiPackage SourceFile="SomePath\MyMsi.msi" Id="MyMsi"/> 你会用!(bind.packageVersion.MyMsi)。

如果您没有Id(就像我一样),您需要定义一个。