WiX:运行 MSI 文件,未引用版本号
WiX: run MSI file without reference to version number
我有一个 WiX Burn 项目,我希望其中一个 MSI 文件每次都是 运行,而不参考版本号。
更具体地说,假设我有 MSI A、MSI B 和 MSI C。
当我推出项目更新时(我正在使用主要更新,因为这似乎比复杂的补丁和类似性质的东西更容易),我想:
- MSI A安装如果-且仅当其版本号大于目标机器上的版本号。
MSI B 到 运行 if-and-only-if 它的版本号更大比目标机器上的版本号。
(到目前为止,这很好,因为这正是 Windows 安装程序的工作方式。)
最后,MSI C到运行每个。单身的。时间。不管怎样。
我可以尝试的事情:
我可以确保它的版本号在每次构建时变得越来越大,但如果我被公交车撞了怎么办?此安装程序可能会持续一段时间。
我可以将其中一个可执行文件的版本号绑定到 MSI C 的版本号,但是如果可执行文件在该特定版本中没有更新怎么办?没有正在安装的可执行文件保证运行每次推出时更新。
有没有一种方法可以将版本号转换为 int,然后 运行 一个自定义操作来递增 int,然后将其转换回版本号,或类似的东西?
或者 - 更好 - 某种开关?
您可以设置主要升级选项来升级已安装的包而不考虑版本号。
<MajorUpgrade Schedule="afterInstallInitialize"
AllowDowngrades="yes"/>
Alos,检查 REINSTALLMODE Property 是否有覆盖文件。
我有一个 WiX Burn 项目,我希望其中一个 MSI 文件每次都是 运行,而不参考版本号。
更具体地说,假设我有 MSI A、MSI B 和 MSI C。
当我推出项目更新时(我正在使用主要更新,因为这似乎比复杂的补丁和类似性质的东西更容易),我想:
- MSI A安装如果-且仅当其版本号大于目标机器上的版本号。
MSI B 到 运行 if-and-only-if 它的版本号更大比目标机器上的版本号。
(到目前为止,这很好,因为这正是 Windows 安装程序的工作方式。)
最后,MSI C到运行每个。单身的。时间。不管怎样。
我可以尝试的事情:
我可以确保它的版本号在每次构建时变得越来越大,但如果我被公交车撞了怎么办?此安装程序可能会持续一段时间。
我可以将其中一个可执行文件的版本号绑定到 MSI C 的版本号,但是如果可执行文件在该特定版本中没有更新怎么办?没有正在安装的可执行文件保证运行每次推出时更新。
有没有一种方法可以将版本号转换为 int,然后 运行 一个自定义操作来递增 int,然后将其转换回版本号,或类似的东西?
或者 - 更好 - 某种开关?
您可以设置主要升级选项来升级已安装的包而不考虑版本号。
<MajorUpgrade Schedule="afterInstallInitialize"
AllowDowngrades="yes"/>
Alos,检查 REINSTALLMODE Property 是否有覆盖文件。