Visual Studio:如何自动卸载以前安装的版本?

时间:2011-09-07 08:25:37

标签: visual-studio-2010 setup-project

我有一个简单的 Web安装项目,可从可部署项目中读取。

即使我已将设置设置为DetectNewerInstalledVersionfalse,我仍然会收到先前安装的恼人的警告框,我需要转到{{ 1}}并找到要删除它的软件......

有没有办法在新的安装对话框中添加脚本,可以说Control Panel

5 个答案:

答案 0 :(得分:27)

如果您增加产品版本并更改包裹代码,则会自动卸载旧版本。每次修改安装项目并构建新包时都需要这样做。

如果您保留相同的版本和产品代码,则无法自动卸载旧版本。在实际启动新程序包之前,Windows Installer会检测它们。所以你需要手动卸载它们。

答案 1 :(得分:8)

在我的情况下,我发现安装项目不是配置管理器的一部分。 因此,它没有在使用新版本的解决方案重建和安装文件中重新生成,并且未生成ProductCode。

解决方案只是右键单击安装项目并单击“重建”。

希望对未来的读者有所帮助:)

答案 2 :(得分:2)

答案是不要使用已经集成的Visual Studio安装项目。我有完全相同的问题:它不会删除以前的版本,即使我升级版本,设置它删除以前的版本,检查以前的版本和重建,我可以安装,但文件不更新。这里有一些很好的工具,请查看bitrock,inno setup或wix。

Visual Studio 2010也是最后一个具有安装项目支持的版本。它不包括在2012年。

答案 3 :(得分:0)

创建.bat文件
写下这段代码:

wmic product where name="SetupProgramName" call uninstall /nointeractive
cd Debug
setup.exe

将此文件放在安装程序目录中。

答案 4 :(得分:0)

我为此苦了很长时间,但这很简单。

  1. 去管理VS Extensions(VS2019)并安装“ Microsoft Visual Studio安装程序项目” v0.9.9
  2. 右键单击您的安装程序项目,然后转到属性。对于同一产品的不同版本,在属性窗口中使UpgradeCode变量保持相同。
  3. 在不同的版本之间更改您的ProductCode变量。
  4. 现在,当您在系统上安装具有相同UpgradeCode的产品时,安装程​​序将升级您现有的产品,并且“添加/删除”窗口中将只有一个程序。