升级和还原 .msi

Upgrading and Reverting .msi

在处理 outlook 加载项的部署项目时,我不得不多次重建 msi。我想知道升级我安装的 msi 以及恢复到旧版本的最佳实践是什么。

我已经编写了很多不同的批处理文件来处理这项工作,但其中 none 似乎是完成此任务的最佳方式。目前我有两个批处理文件,一个要升级,另一个要还原。

升级我所做的只是更改产品代码或更改版本号和产品代码。然后我 运行 简单的命令 myapplication.msi /quiet。这是因为产品代码和版本号发生了变化,尽管版本号可以保持不变并将设置切换为不检测更新的版本。否则我会得到 "Another version of this product is already installed." 错误

要还原,我有以下命令:C:\Windows\System32\msiexec.exe /quiet /x myapplication.msi 后跟上面的命令和以前的版本名称(通常是 prevmyapplication.msi)。这个还行,不过感觉可能还有更好的办法。

感谢您的指导。

书本上的答案是您以正确的方式进行操作。 Microsoft 已断言允许 "downgrades" 不是预期的用户行为,必须执行卸载/重新安装才能这样做。

我使用了一种我们有意允许降级的模式。原因是操作更容易。带你从 1.0 到 2.0 的 SCCM 广告也可以带你从 3.0 到 2.0。但是有一个缺点,如果操作混乱并且有多个相互冲突的广告,您可能会遇到 war。