C#VS卸载程序

C#VS卸载程序,c#,.net,visual-studio-2010,installation,C#,.net,Visual Studio 2010,Installation,我已经在VS2010中创建了VS安装程序。它很好用。当程序已经安装并且您重新运行安装程序时,它会提示您进行修复和卸载。这很好。问题是,当我重新构建相同的安装程序并尝试将其安装到已经安装了安装程序的计算机上时,它不会给我及时的修复和卸载。相反,它会弹出错误“Windows Installer:此产品的另一个版本已安装。此版本的安装无法继续…”,然后它会要求我使用控制面板中的“添加/删除程序”手动卸载 因此,在重建过程中必须有一些更改/自动生成的内容。类似于密钥或与旧版本不同的东西,使得新版本无法识

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


因此,在重建过程中必须有一些更改/自动生成的内容。类似于密钥或与旧版本不同的东西,使得新版本无法识别旧版本。有人知道如何处理这个问题吗?

增加安装项目版本并设置

- DetectNewerInstalledVersion = true
- RemovePrevousVersions = true

更多信息:

在VS安装项目的属性上,将
RemovePreviousVersions
设置为True。我相信默认情况下它被设置为false。我相信这会节省一些时间,而不是手动操作

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

详情如下:


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


我已经有一段时间没有这么做了,所以我不记得细节了,只是这是一个巨大的麻烦。我想你需要某种安装程序包装,用一些命令行属性或一些可笑的东西调用MSI。你在使用什么windows installer工具。Installshield?我现在就停下来,离开安装项目(vdproj)。它已被弃用,Microsoft将不再支持它。是吗?这是在vs2010中,其他项目类型->安装和部署->VS安装程序->安装项目。MS不支持??向前移动将不支持,但另一方面,您是否已将RemovePreviousVersions属性设置为true?