WiX Bundle中的"Version"属性显示在" 程序和功能"中.因此,这应该与我的实际应用程序的版本号相同,对吧?
假设它们应该是相同的,如何自动更新似乎并不是很明显.我有MSI根据这个问题来做,但不是Bundle/Bootstrapper位.如何让Bootstrapper Bundle做同样的事情并阅读MSI版本号?
Isa*_*110 31
要回答你的第一个问题,对此没有严格的规定.因此,更新您的WIX软件包版本并将其与您的MSI版本相匹配不是必须的.
至于第二个问题,我不太确定.但是你可以尝试这个binder变量:
!(bind.packageVersion.PackageID)
Run Code Online (Sandbox Code Playgroud)
EDIT替换PackageID
为您正在安装的程序的元素"ID"属性.就像是:Version="!(bind.packageVersion.MyAppName)"
<MsiPackage SourceFile="SomePath\MyAppName.msi" Id="MyAppName"/>
Run Code Online (Sandbox Code Playgroud)
如此POST中所述.另请查看WIX文档以获取更多活页夹变量.
编辑 5/11/2017 - 看起来有关于packageID应该是什么的混淆,我根据Bob Lutz的答案编辑了答案.
Bob*_*utz 16
补充Isaiah4110的答案(我无法发表评论,我的编辑被拒绝):
PackageID来自您链中某个包类型(例如MsiPackage,ExePackage ...)的Id值.所以要引用<MsiPackage SourceFile="SomePath\MyMsi.msi" Id="MyMsi"/>
你要使用的版本号
!(bind.packageVersion.MyMsi).
如果你没有Id(比如我自己),你需要定义一个.