我已經構建了一個我想要部署和經常更新的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