我有一箇舊的安裝程序(exe),我已通過installshield創建。我想升級我的舊應用程序到新的應用程序,或者卸載WIX Toolset中的舊應用程序。如果任何人有一些想法,請幫助我。在此先感謝如何在wix安裝程序中卸載另一個程序(exe)?
1
A
回答
4
有幾個可能的原因:
這可能是一個InstallShield設置創建要安裝MSI文件。如果是這樣,您需要找到它的UpgradeCode並在您的WiX中使用升級元素,或使用與舊產品相同的UpgradeCode並執行重大升級。
如果它不是基於MSI的,那是一團糟。我見過的一種技術是在註冊表中找到該產品的UninstallString。您可以使用RegistrySearch將其讀取到某個屬性中。你用它做什麼取決於你想要什麼樣的卸載。一旦你有卸載字符串命令有幾件事情你需要擔心:
a。如果將該卸載字符串命令作爲即時自定義操作運行,則可能會失敗,因爲不立即提供自定義操作。
b。如果您希望它保持沉默狀態,則必須以編程方式檢查卸載命令字符串並添加無提示開關,並且這將取決於InstallShield使用的任何版本。可能還會有「顯示卸載進度」選項。
℃。如果以默認方式運行卸載作爲延遲自定義操作,則它會在模擬=否時提升,但如果它靜默失敗並且無論如何您的安裝都會繼續,那麼將會安裝舊版和新版。 d)。如果在卸載較舊的產品後安裝失敗,用戶將不會安裝任何產品。
換句話說,情況2中沒有好的選擇,因爲失敗的機率很高。在大多數情況下,安全的答案是檢測舊產品並要求用戶手動卸載它。一旦進入MSI模式,您可以使用MajorUpgrade元素無縫升級。
相關問題
- 1. 在WIX msi中包裝一個EXE安裝程序
- 2. msi安裝程序卸載
- 3. 在安裝msi包之前卸載另一個應用程序
- 4. WiX Burn軟件包安裝程序 - 處理升級和卸載exe軟件包
- 5. WIX:安裝程序在卸載時未刪除屬性
- 6. 在卸載Wix安裝程序時禁用StartIIS7Configuration transaciton
- 7. 卸載應用程序,然後使用c安裝另一個應用程序#
- 8. 一次成功嘗試後,WiX Burn安裝程序不會安裝或卸載
- 9. 在卸載WIX中創建的安裝程序時未卸下Windows服務
- 10. 如何創建一個.exe驅動程序安裝程序
- 11. 如何在安裝過程中卸載應用程序(MSI)
- 12. 在一個安裝程序中執行多個安裝程序/ exe文件?
- 13. 如何在Windows應用程序中創建安裝/卸載/修復.exe文件?
- 14. 如何判斷安裝程序是否有卸載程序?
- 15. 如何卸載Web平臺安裝程序(WPI)應用程序?
- 16. 如何使用wix安裝程序運行多個安裝的exe文件?
- 17. Wix安裝程序 - 無法卸載perUser軟件包
- 18. Wix安裝程序無需卸載即可升級
- 19. Wix安裝程序有選擇地卸載以前的版本
- 20. WIX Office安裝程序未卸載插件
- 21. WIX安裝程序在卸載過程中無法刪除註冊表項
- 22. 如何創建一個將執行多個msi/exe的Wix安裝程序?
- 23. 如何在MSI安裝程序中搭載MSI安裝程序
- 24. 使用自定義安裝程序卸載多個程序
- 25. 如何卸載python3 DMG安裝程序安裝的文件?
- 26. Visual Studio安裝程序項目 - 向卸載程序添加另一步驟
- 27. 如何在WIX中安裝時運行其他程序(PostgreSQL)的安裝程序?
- 28. 卸載程序在安裝程序退出後仍在運行
- 29. Wix 3.8:安裝程序不卸載以前的版本或安裝新版本
- 30. 如何從另一個NSIS安裝程序中執行NSIS卸載程序並等待它完成?
我已經通過你的第一種可能性,現在它工作正常。非常感謝你的建議,其實我是Stackowerflow的新成員,所以我不能投票給你。我希望我能夠爲你投票。 –
對於非MSI,「安全的答案是檢測舊產品並要求用戶手動卸載它」看起來像是一個警察,但是非常合理。 –