【发布时间】:2014-03-05 03:34:29
【问题描述】:
我已经在这个问题上工作了一天左右,但未能弄清楚。
所以我有一个带有 bootstrap setup.exe 的 .Net 安装项目,我想从命令行“强制重新安装”我在命令行参数中看到有一个开关:
Windows ® Installer. V 5.0.7601.17514
msiexec /Option <Required Parameter> [Optional Parameter]
Repair Options
/f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
Repairs a product
p - only if file is missing
o - if file is missing or an older version is installed (default)
e - if file is missing or an equal or older version is installed
d - if file is missing or a different version is installed
c - if file is missing or checksum does not match the calculated value
a - forces all files to be reinstalled
u - all required user-specific registry entries (default)
m - all required computer-specific registry entries (default)
s - all existing shortcuts (default)
v - runs from source and recaches local package
现在如果我运行 setup.exe 为:
setup.exe /fa setupdll.msi 它不能工作或 /f 树下的任何其他子开关
有人可以帮忙吗?
EDIT1: 如果我从命令行运行它,这是有效的:
%windir%\system32\msiexec /fa setupdll.msi
问题是它与我使用 gui 运行设置的方式不完全相同
gui 修复执行以下操作:
- 替换所有文件
- 注册新文件
命令行方法执行以下操作:
- 替换所有文件 但不会将新的 dll 注册到 gac 中
知道为什么吗?
【问题讨论】:
标签: .net windows-installer command-line-arguments setup-project