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

时间:2013-02-04 14:36:59

标签: visual-studio-2010 visual-studio-setup-proje

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

2 个答案:

答案 0 :(得分:7)

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

  

注意

     

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

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

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

答案 1 :(得分:0)

我遇到了同样的问题。
然后我决定更改这四个。
(我使用了Visual Studio Community 2019)

[设置项目]
・版本

[。Net项目]
・组装版
・汇编文件版本
・ GUID

Change Assembly Info