VDPROJ 自动升级与卸载/重新安装

发布于 2024-07-08 23:17:18 字数 261 浏览 9 评论 0原文

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

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

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

I've seen a confusing behavior regarding the MSI files generated by a VDPROJ file. If I build my MSI in Visual Studio and then right-click and pick "Install" from within Visual Studio, it will automagically uninstall any version that is already installed and then install the new MSI.

However, if take the generated MSI and run it directly it will complain if a previous version is already installed. I have to uninstall it explicitly (in Add/Remove Programs) first.

What's the deal? Is there a command-line argument that Visual Studio executes the MSI with?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小伙你站住 2024-07-15 23:17:18

是的 Visual Stuido 将传递 REINSTALLMODE在 Windows 安装程序运行安装时重新安装 属性,

如下所示:

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

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

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

msiexec /x <package> or <product code>

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

Yes Visual Stuido will be passing the REINSTALLMODE and the REINSTALL properties to the windows installer when it runs your install

something like:

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

Check the MSDN documents linked above to see what these options are doing

Edit:
Now I come to think of it. Studio may also just be uninstalling your application first by using the /x command line arg

msiexec /x <package> or <product code>

Maybe someone else can confirm which is being used?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文