我在VS 2010中使用安装项目来安装我创建的Windows窗体应用程序。安装项目工作得很好,但是,如果我更新应用程序并更改安装项目的版本号和升级代码,则在再次运行安装项目时,它不会更新用户计算机上的应用程序。它将通过安装步骤并说安装成功,但是,用户计算机上的应用程序保持完全相同,而不是更新版本。奇怪的是,如果您再次运行安装项目,则会出现错误,指出已安装此版本的应用程序,并且必须使用添加/删除程序删除当前版本才能继续安装。之前是否还有其他人遇到此问题。我听说使用VS 2010中的安装项目可能无法实现这一点,但我希望情况并非如此,因为除了这个问题,这种方法对我来说很有用。
答案 0 :(得分:7)
您不应该更改UpgradeCode
属性,这将产生您所看到的效果:
注意
只应为第一个版本设置 UpgradeCode ;它永远不应该为应用程序的后续版本更改,也不应该针对不同的语言版本进行更改。更改此属性将使 DetectNewerInstalledVersion 和 RemovePreviousVersions 属性无法正常工作。
假设您要删除旧版本并将其替换为新版本(而不是将它们并排安装,这实际上就是您正在做的事情),您应该更改Version
( MSI和正在更新的文件)和ProductCode
(MSI)并将RemovePreviousVersions
设置为True
。
答案 1 :(得分:0)