我已经构建了一个我想要部署和经常更新的MSI。不幸的是,当您安装MSI,然后尝试安装相同MSI的较新版本时,它会失败,并显示“此产品的另一版本已安装,此版本的安装无法继续...”。 MSI是使用Visual Studio 2008安装项目构建的。我试图将“删除以前的版本”属性设置为true和false,以使新版本覆盖旧版本,但没有任何成效。在以前的公司,我知道我没有使用Wise和Advanced Installer构建的安装程序的问题。有没有我失踪的设置?或者,我所需的功能不受VS 2008安装项目支持?MSI安装程序无法删除以前的安装失败
回答
我已经用VS 2005 Pro构建了许多MSI,可以正确执行此操作。
您确定部署项目的'Version'属性已增加吗?此属性与应用程序中的程序集版本无关,如果MSI的Version属性与您尝试覆盖的版本属性相同,则会显示错误消息。
增加项目的版本号。
在VS中,选择安装应用程序的节点,然后按F4查看属性。找到版本字段,并增加它。
您需要更改每个版本之间的ProductCode,如果您不这样做,您将看到您所看到的行为。 ProductCode在项目属性中可见。查看MSDN Online Help for ProductCode以更好地理解。
只需更改主要升级的产品代码,小的频繁更新应该保留相同的产品代码并只增加版本。 更改产品代码实际上是Windows安装程序眼中的新应用程序。 – saschabeaumont 2008-09-12 04:49:52
从XP到Win7时出现同样的问题。要解决它,我必须将DetectNewerInstalledVersion设置为False。另外,正如其他人所提到的,您需要包含安装项目的版本。
祝你好运。
这是稍微复杂一些:
要自动删除安装项目安装的应用程序的早期版本,它是需要:
- 增量的版本属性(例如,从1.0.0到1.0.1 ...也在第三个位置工作)
- 版本是安装程序项目的属性,它标识哪个版本的应用程序安装ED
- 更改产品代码属性,因此安装程序知道,这是不执行相同的安装程序两次
- 产品代码是安装项目的属性时,Visual Studio提供了自动更改它,当版本财产变更
- 保留“UpgradeCode”属性的值。
- 的UpgradeCode也安装项目的属性
- 它需要保持完整的“升级行”中相同,所以安装知道什么升级
- 如果您也想删除旧的应用程序版本从控制面板的软件列表中设置RemovePreviousVersions为true
我除了以前的版本之外都做了所有不是由.msi卸载的。我有VB脚本来改变成功构建版本和产品代码。并且RemovePrevious Version属性也设置为true。请帮助任何想法?如何克服。 – 2013-07-12 05:59:55
- 1. MSI失败的HTA安装程序
- 2. MSI安装程序不删除以前版本的添加/删除程序
- 3. MSI:安装程序安装程序
- 4. 删除现有版本并安装msi安装程序
- 5. MSI安装程序在安装后删除目标文件夹
- 6. 无法安装Sails.js,安装失败
- 7. 的AppX中安装的应用程序可以删除旧的安装使用MSI安装的应用程序?
- 8. VS2010安装程序安装失败
- 9. 安装程序无法删除以前的版本
- 10. MSI安装程序无法安装文件
- 11. 如何在MSI安装程序中搭载MSI安装程序
- 12. Wix安装程序无法删除安装文件夹
- 13. Windows Mobile的MSI安装文件失败
- 14. msi安装程序在安装前运行脚本
- 15. MSI安装程序在卸载时失败时,serivce已被删除
- 16. Ubuntu删除失败的Java安装(一半安装)
- 17. 是否可以从msi安装程序中删除标题栏
- 18. MSI程序包的无提示安装
- 19. MSI安装失败 - 错误1723
- 20. Windows安装程序msi包
- 21. msi安装程序错误
- 22. MSI安装程序VS 2008
- 23. .msi安装程序中断
- 24. msi安装程序卸载
- 25. 应用程序安装失败 - 安装应用程序viaOTA
- 26. 安装MSI安装程序时无效驱动器F
- 27. 无法安装SqlServer 2014安装程序
- 28. C#安装项目安装程序不删除以前的版本
- 29. 使用msi安装程序的安装程序windows服务
- 30. 安装失败
如何获取部署项目的'版本'属性?具体步骤是什么? – sagesky36 2013-01-21 15:29:40