【问题标题】:C# VS uninstallerC# VS 卸载程序
【发布时间】:2011-08-19 19:38:28
【问题描述】:

我在 VS2010 中创建了 VS 安装程序。它工作正常。当程序已经安装并且您重新运行安装程序时,它会提示修复和卸载。这很好。问题是当我重新构建完全相同的安装程序并尝试将其安装在已经安装了一个的机器上时,它不会给我及时的修复和卸载。相反,它给我弹出错误“Windows Installer:该产品的另一个版本已安装。此版本的安装无法继续....”然后它要求我使用控制面板中的添加/删除程序进行手动卸载。

所以在重建过程中必须有一些改变/自动生成的东西。一种类似的键或与旧版本不同的东西,这使得新版本无法识别旧版本。有人知道如何处理吗?

【问题讨论】:

  • 我已经有一段时间没有这样做了,所以我不记得细节了,只是觉得这是一个巨大的痛苦。我认为您需要某种安装程序包装器,它使用一些命令行属性或一些荒谬的东西调用 MSI。
  • 您使用的是什么 Windows 安装程序工具。安装屏蔽?
  • 我现在会停下来,逃离安装项目 (vdproj)。它已被弃用,Microsoft 将不再支持它。
  • 嗯?这是在vs2010中,其他项目类型->设置和部署-> VS安装程序->设置项目。 MS不支持??
  • 未来不会,但另一方面,您是否将 RemovePreviousVersions 属性设置为 true?

标签: c# .net visual-studio-2010 installation


【解决方案1】:

增加你的安装项目版本并设置

- DetectNewerInstalledVersion = true
- RemovePrevousVersions = true

更多信息:http://social.msdn.microsoft.com/Forums/en/winformssetup/thread/717cfce0-3061-400f-9ea3-069f73f3a473

【讨论】:

    【解决方案2】:

    如果您增加版本,它将自动检测以前的版本并根据您在RemovePrevousVersionsDetectNewerInstalledVersion 上的配置进行处理。

    【讨论】:

      【解决方案3】:

      在 VS Setup 项目的属性中,将 RemovePreviousVersions 设置为 True。我相信默认情况下它设置为false。我相信这样可以节省一些时间,而不是手动操作。

      此外,这些属性中还有 ProductCode、UpgradeCode 和 Version。这些控制安装行为,更多信息在这里:

      http://msdn.microsoft.com/en-us/library/aa372845(v=VS.85).aspx

      这里有更多细节:

      http://msdn.microsoft.com/en-us/library/aa370579(v=vs.85).aspx

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-21
        • 1970-01-01
        • 2019-02-14
        • 2017-08-09
        • 2011-01-05
        • 2012-11-06
        相关资源
        最近更新 更多