重置REINSTALL和REINSTALLMODE标志以进行主要升级

时间:2014-10-09 13:39:37

标签: wix windows-installer wix3.7

我有一个使用命令行的NSIS脚本:

msiexec.exe /i installer.msi REINSTALL=ALL REINSTALLMODE=vdmus

msi是使用Wix构建的。这适用于小型升级,但无法进行重大升级。

所以我想知道,一旦我们检测到我们正在进行重大升级,Wix中是否有办法重置 REINSTALLREINSTALLMODE标志?

1 个答案:

答案 0 :(得分:4)

主要升级不使用REINSTALL或REINSTALLMODE。为次要升级而构建的MSI与其更新的MSC(以及其他内容)具有相同的ProductCode,并且为主要升级而构建的MSI不具有相同的ProductCode。因此,要进行主要升级,只需以“正常”方式启动MSI,对于次要升级,您可以使用REINSTALL和REINSTALLMODE启动MSI文件。您需要两个单独的命令行,并在知道正在执行何种安装时使用适当的命令行。这是最安全的,也许唯一要做的事情。

BTW,这与WiX无关 - 无论您使用什么工具来构建MSI文件都是如此。