【问题标题】:Visual Studio: How to automatically uninstall previous installed version?Visual Studio:如何自动卸载以前安装的版本?
【发布时间】:2011-09-07 08:25:37
【问题描述】:

我有一个简单的Web 设置项目,它从可部署项目中读取数据。

即使我已将安装程序设置为 DetectNewerInstalledVersionfalse,但我总是收到烦人警告框,提示存在以前的安装,我需要转到 Control Panel 并找到软件删除它...

有没有办法在新的安装对话框中添加一个脚本,可以说A previous version was found, press NEXT to uninstall it.

【问题讨论】:

标签: visual-studio-2010 setup-project


【解决方案1】:

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

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

【讨论】:

  • 我可以确保该版本使用的是 Version 语法并且已经更新,例如从 1.0.00501.0.0051UpgradeCodeProductCode 也总是自动更新。
  • UpgradeCode 应该保持不变,只有 ProductCode 应该改变。另外,由于您收到您提到的消息,因此您没有增加包 ProductVersion 并更改 ProductCode。您在哪里进行了更改?
  • 我纠正了这一点,ProductCode 是唯一改变的。我使用设置项目中的属性窗口。
  • 您还需要增加ProductVersion。
  • 程序集版本号也需要更改才能被安装程序替换。
【解决方案2】:

就我而言,我发现安装项目不是配置管理器的一部分。 因此,新版本的解决方案重建和设置文件没有重新生成,并且没有生成 ProductCode。

解决方法就是右键单击设置项目,然后单击重建。

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 您还需要更改项目中的程序集版本
    【解决方案4】:

    我为此苦苦挣扎了很长时间,但它很简单。

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

    【讨论】:

    • 我确信这现在是一件容易的事,但请记住这是一个 9 年前的问题,VS2019 不可用,因此提到了 VS2010 ??
    【解决方案5】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      相关资源
      最近更新 更多