我有一個部署項目,它不會讓我安裝在舊版本上。 msi文件說,首先從「添加/刪除程序」中卸載該程序。這不是一個好的用戶體驗。我該怎麼做才能使安裝程序首先刪除軟件,然後安裝新版本?在舊版本上安裝新版本的部署項目
回答
這是棘手的,你必須做以下步驟,
- 集中刪除以前安裝的真
- 設定的檢測爲真新版本
- 你的C#程序的版本必須在每次部署增加
- 您應該將安裝程序的版本更改爲更高版本,並會要求您更改產品代碼,請選擇是。
- 不要更改升級代碼,讓它相同。
如果您沒有正確執行第三步,安裝程序仍然會安裝並保留舊文件,如果您更改了內容,則每個文件的文件版本必須是新的。
設置安裝項目屬性RemovePreviousVersions真
但你必須使用相同的的UpgradeCode在這兩個安裝應用程序
+1感謝指出了相同的升級代碼。 – 2010-06-11 17:33:03
我嘗試了幾個場景,也許這將幫助別人節省一些時間
如果組件版本發生變化並且項目安裝程序版本發生更改(產品代碼Guid也發生變化) - >應用程序安裝在現有的頂部 - > dll和exe版本得到更新 - >如果安裝路徑不同,現有的最初安裝的項目文件將從安裝位置刪除。 (既然做文件保留)
如果集版本的變化和項目安裝程序版本的變化(不包括產品代碼的Guid改變) - >要求用戶手動刪除該應用程序 - 如果他們繼續前進,從控制面板中先刪除> ,應用程序就可以進行安裝和DLL和EXE文件可以更新到新版本
如果只有集版本的變化,或只項目安裝版本的變化(不包括產品代碼的Guid改變) - >要求用戶手動刪除該應用程序 - >如果他們繼續並先從控制面板中刪除,則可以安裝應用程序,並將dll和exes更新到新版本
如果僅有項目安裝程序版本發生更改(產品代碼Guid也在更改) - > MSI會經歷安裝過程,但dll和exe不會更改版本 - 它們是按照程序集版本進行的,並且被替換爲相同程序集的文件構建版本 - >如果安裝的IF路徑不同,則現有的最初安裝的項目文件將從安裝位置中刪除。 (因爲所做的任何文件保留)
如果項目安裝的版本變化(與產品代碼的Guid也在發生變化)和裝配的版本比安裝的版本 低 - >安裝將開始,在最終用戶被告知安裝失敗的舊版本。
有幫助..投票。 – Munavvar 2017-02-07 10:54:20
安裝新版本後,有時可以這樣做舊產品將保持不變。
您需要更改RemoveExistingProducts的序列號,它必須安排在 安裝驗證操作和InstallInitialize之間。您可以通過ORCA
做到這一點對於防爆InstallValidate = 1400 InstallInitialize = 1500
然後RemoveExistingProducts = 1450
- 1. 安裝和部署不想卸載舊版本並安裝新版本
- 2. Tomcat在部署新版本時取消部署舊版本
- 3. Maven的:版本:更新父隨後安裝安裝舊版本
- 4. 防止在較新版本上安裝較舊版本
- 5. 如何讓msi安裝程序在較新的版本上安裝舊版本?
- 6. 舊版Ruby版本在安裝最新版本之後顯示
- 7. 在Ubuntu上安裝舊的PHP版本
- 8. 新版本BizTalk項目部署
- 9. 安裝舊版本的firefox
- 10. 安裝舊版本的Cygwin
- 11. 安裝舊版本的gcc
- 12. 在安裝新版本之前卸載舊版本
- 13. 在安裝新版本之後,Ruby默認爲舊版本
- 14. iOS:AppStore安裝舊版本,然後提供更新到新版本
- 15. 安裝新舊版本的Xcode
- 16. 將安裝新版本的Python與舊版本衝突
- 17. 如何刪除Java的舊版本,然後安裝新版本
- 18. 如何卸載較新版本的java並安裝舊版本?
- 19. 安裝舊版本scrapyd
- 20. 安裝.NET:覆蓋舊版本與新
- 21. 如何在較新版本上安裝舊版本的UWP應用程序?
- 22. 儘管最新版本安裝Hadoop顯示舊版本
- 23. 安裝新版本時自動刪除舊版本
- 24. Android:「更新版本0比安裝版本舊」
- 25. Cocoapods正在安裝舊的Pod版本
- 26. 將舊項目移至新版本
- 27. 在GitHub上更新AppEngine部署版本
- 28. 部署舊版本的Visual Studio
- 29. 安裝和部署 - 在.Net中安裝兩個不同版本
- 30. 是否重新安裝新版本的Xcode會自動覆蓋舊版本?
這是什麼都與C#編程語言呢? – 2010-06-11 17:35:12