windows-installer - 如何让 msiexec 根据需要安装和/或重新安装

标签 windows-installer

我在网络驱动器上放置了一个内部 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/

相关文章:

node.js - 无法通过 electron-builder 自定义 NSIS 包含脚本注册和注销 .dll 文件

powershell - 在命令行上设置公共(public)属性值

wix - 以编程方式更新 MSI 属性

windows-vista - 如何在 Vista 中获取 Application Data 文件夹/Word 模板文件夹?

c# - 从 CA 到 Wix 的 Wix 自定义操作设置值

.net - 在构建过程中自动加密 App.config 文件

c# - 在静默模式下安装 SQL Server Express 2008 以及 C# 应用程序

.net - 进行复杂设置的工具(InstallShield 或自定义应用程序)

ms-access - Access 2007 Engine : How do I include it in my . msi 安装程序?

WIX:如何根据运行安装程序的操作系统更改注册表项?