如何根据需要安装和/或重新安装 msiexec

Yin*_*ing 5 windows-installer

我在网络驱动器上放置了一个内部 MSI,我想编写一个登录脚本,以便我们网络上的任何人都可以将 MSI 安装到他们的计算机上,或者在 MSI 更新时自动重新安装它(这经常发生)。

如果我使用msiexec.exe /i REINSTALL=ALL它,如果 MSI 尚未安装在该机器上,它将不会执行任何操作。如果我省略REINSTALL=ALL,那么它将进行全新安装,但不会进行更新/重新安装。

如果尚未安装软件包,我应该选择哪些参数来使其执行全新安装,如果已经安装软件包,则应选择完全重新安装?

先运行msiexec /i然后重新安装可能会起作用,但如果可能的话我想避免这种情况。

编辑:需要的原因/famus是这些是开发人员机器,有人可能会手动更新注册表或注册一组不同的 dll。该脚本的目的是,即使 MSI 没有发生任何更改,开发人员也可以运行该脚本轻松恢复到“官方”环境。

Yin*_*ing 2

我最终使用首先运行 msiexec /famus 的批处理文件解决了这个问题,如果退出代码是 1605,它将运行 msiexec /i。