我在网络驱动器上放置了一个内部 MSI,我想编写一个登录脚本,以便我们网络上的任何人都可以将 MSI 安装到他们的机器上,或者在 MSI 更新时自动重新安装它(这经常发生)。
如果我使用 msiexec.exe /i REINSTALL=ALL
如果 MSI 尚未安装在该机器上,它将不会执行任何操作。如果我省略了 REINSTALL=ALL
,然后它将执行全新安装,但不会执行更新/重新安装。
如果尚未安装该软件包,我应该选择哪些参数使其进行全新安装,如果已经安装了该软件包,则应选择完全重新安装?
运行 msiexec /i
首先重新安装可能会起作用,但如果可能的话,我想避免这种情况。
编辑:原因 /famus
需要的是这些是开发人员的机器,有人可能会手动更新注册表或注册一组不同的 dll。脚本的目的是即使MSI没有任何变化,开发者也可以运行脚本轻松恢复到“官方”环境。
最佳答案
尝试怎么样:msiexec /i <path to msi> ADDLOCAL=<top level feature name>
您可以通过在 Orca.exe 中打开包并查看功能表来获取顶级功能。
关于windows-installer - 如何让 msiexec 根据需要安装和/或重新安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5799713/