2010-11-29 65 views
8

我認爲這將在Web上的某個地方,但我不能谷歌它:擁有MSI安裝包的主要優勢是什麼?

鑑於創建一個MSI包(與NSIS,InnoSetup等相比)的複雜性,什麼將是一個令人信服的理由(使用MSVS的蹩腳設置項目嚮導,學習一個全新的語言/生態系統來製作安裝程序(WiX),或者支付很高的許可證費用(InstallShield)),以便製作MSI安裝程序?

將是不錯的有現實世界的看法和經驗(甚至證明MSI真的是一文不值)等較明顯MSDN page,例如:)

+0

** [使用MSI文件的優點](http://serverfault.com/a/274609/20599)** - MSI文件重要優點的執行摘要樣式列表。 – 2014-07-24 17:29:38

回答

9

我不認爲所有情況都有一個主要優勢。下面是安裝的有些東西我喜歡它,VS等各類:

  • 安裝邏輯和代碼包含在數據庫中,這是一個可訪問的格式。 我在調試時很喜歡這個。您可以使用Orca(從MS下載免費數據庫編輯器)等工具直接編輯數據庫,而不是重新構建安裝程序,然後再次運行安裝以測試您的更改。更新您的自定義代碼,暫時解決問題,改變操作順序,無論您需要做什麼。

  • 修補。安裝程序服務及其相應的工具知道如何創建包含更新文件增量的修補程序,而不是完整的文件。它使維護大小保持合理。

  • 行政圖片。安裝程序可以創建管理映像。如果您已生成補丁程序,則可以將補丁程序應用於管理映像,然後可以從管理映像而不是原始安裝程序運行新安裝程序。像操作系統映像中的補丁一樣。如果您將您的應用推送到大量機器上,那麼在安裝後不需要推出大量修補程序非常酷。

其他有趣的功能包括變換,從源頭運行,檢測和修復,組件共享等。

2

我非常確定有企業需要MSI格式才能在數千臺機器上遠程批量安裝應用程序。但是,我不處理這樣的組織,所以不確定。

3

需要MSI(或ClickOnce)才能獲得Windows Vista徽標計劃(Microsoft官方認證)。我相信這個要求在Windows 7中被刪除了,但是通過MSI獲得認證還是比較容易的(見here)。

雖然您不需要購買任何昂貴的第三方安裝程序包。如果你要參加MSI,我建議你使用WIX並學習它。一旦你熟悉它,它運作得很好。

3

另一個好讀是:

Windows Installer: Benefits and Implementation for System Administrators

我已經14年的全日制建立開發者。我的第一個7年是InstallScript Setup.exe風格的項目,我過去的7年一直是基於MSI的。起初我抵制MSI,然後在使用它6個月後,我成了一個真正相信它有多好的東西。

+0

你能否詳細說明一下?似乎你已經獲得了經驗,回答了「你有什麼**主要優勢**」的問題?什麼特別讓你相信? – kizzx2 2010-11-29 17:02:46

+2

作爲獨立軟件開發商,作爲設置開發人員的主要優勢是讓我專注於我的安裝程序需要做的事情,而不是如何去做。作爲企業工程師,主要優勢是能夠檢查和改造包裝。我花了2年的時間將「糟糕的行爲」安裝人員重新包裝到MSI中,遵循最佳實踐,以便我可以靜靜地部署(安裝和卸載)到全球數以千計的十臺機器。非MSI可以做到這一點,但我遇到的絕大多數人(很多人)做得很差。 – 2010-11-29 21:11:32