VS 2010安装项目不会删除以前的版本

use*_*315 3 visual-studio-2010 visual-studio-setup-proje

我在VS 2010中使用安装项目来安装我创建的Windows窗体应用程序.安装项目效果很好,但是,如果我更新应用程序并更改安装项目的版本号和升级代码,则在再次运行安装项目时,它不会更新用户计算机上的应用程序.它将通过安装步骤并说安装成功,但是,用户计算机上的应用程序保持完全相同,而不是更新版本.奇怪的是,如果您再次运行安装项目,则会出现错误,指出已安装此版本的应用程序,并且必须使用添加/删除程序删除当前版本才能继续安装.之前是否还有其他人遇到此问题.我听说使用VS 2010中的安装项目可能无法实现这一点,但我希望情况并非如此,因为除了这个问题,这种方法对我来说很有用.

jer*_*rry 7

您不应该更改UpgradeCode属性,这将具有您所看到的效果:

警告

的UpgradeCode应仅适用于第一个版本进行设置; 它永远不应该为应用程序的后续版本更改,也不应该针对不同的语言版本进行更改.更改此属性将使DetectNewerInstalledVersionRemovePreviousVersions属性无法正常工作.

(通过https://wayback.archive.org/web/20121029130031/https://msdn.microsoft.com/en-us/library/465253cd(v=vs.100).aspx)

假设您要删除旧版本并将其替换为新版本(而不是将它们并排安装,这实际上就是您正在做的事情),您应该更改Version(MSI和文件)( s)正在更新)和ProductCode(MSI)并设置RemovePreviousVersionsTrue.