9

我看到了关于由 VDPROJ 文件生成的 MSI 文件的令人困惑的行为。如果我在 Visual Studio 中构建我的 MSI,然后右键单击并从 Visual Studio 中选择“安装”,它将自动卸载已安装的任何版本,然后安装新的 MSI。

但是,如果获取生成的 MSI 并直接运行它,如果已经安装了以前的版本,它会报错。我必须先明确卸载它(在添加/删除程序中)。

这是怎么回事?是否有 Visual Studio 执行 MSI 的命令行参数?

4

1 回答 1

9

是的,Visual Stuido 将在运行您的安装时将RE ​​INSTALLMODE和REINSTALL属性传递给 Windows 安装程序

就像是:

msiexec /i your.msi REINSTALLMODE=vomus REINSTALL=ALL

检查上面链接的 MSDN 文档以查看这些选项的作用

编辑:
现在我想起来了。Studio 也可能只是先使用 /x 命令行参数卸载您的应用程序

msiexec /x <package> or <product code>

也许其他人可以确认正在使用哪个?

于 2008-11-21T19:33:49.017 回答