2009-08-03 107 views
1

由於Microsoft Windows安裝程序(MSI)系統的嚴重限制,需要創建引導程序才能安裝多個MSI文件(由於前/後必備條件)。但是,這會導致分發問題,因爲您現在有多個文件需要包含在分發中。當然有多種方式將其作爲單個文件進行分發。如何分發包含引導程序的安裝程序

1:歸檔

你可以把所有的文件轉換爲用戶下載一個壓縮文件。 MS Windows的顯然選擇當然是一個PK-ZIP存檔。但這不是非常用戶友好的。用戶首先必須提取存檔,然後運行引導程序(將被稱爲setup.exe)。

2:一個自解壓文件

相反分發普通存檔文件,你可以換它變成一個自解壓存檔。執行此SFX存檔將提示用戶提取和/或運行內容。但是這爲整個安裝過程又添加了一個提示(#1:SFX提示符,#2:引導程序提示符,#3:主要安裝程序提示符)。這也不是很方便用戶使用,因爲它會因多重提示而增加煩惱。

3:單個文件引導程序

當然還有所有的提取文件嵌入到引導程序的選項。這對於普通的最終用戶來說可能是最友好的。但是,這對於系統管理員來說不太友好,因爲通常bootstrappers比MSI文件管理得更少。管理員會操縱該系統,以便在安裝主MSI時也安裝所有必需品,因此不需要引導程序。

4:其他?

其他未列出的方法?

那麼你認爲如何分配需要啓動引導程序的MS Windows軟件的最佳安裝方式?

+1

使用7zip SFX調用主安裝程序。一個7zip SFX可以默默調用。所以你需要確保你的安裝程序也接受/ q命令。 – 2009-08-03 09:28:06

回答

2

我們提供單一文件引導程序零售分銷和所有單用戶安裝。

批量授權客戶(如10+個座位)收到一個(或多個)MSI文件與指令一起,並且必須先安裝我們的應用程序將運行(其中XP,Vista和Win2k的之間略有不同prerequsites列表)。如果未安裝先決條件,EXE會阻止安裝,如果系統管理員知道他們正在做什麼並且可能在下次重新啓動之前同時安裝prereq,則MSI將允許安裝。

基本上,單引導程序是爲非系統管理員,誰想要一個單擊解決方案的人。系統管理員和企業IT支持人員喜歡對多個文件進行更細粒度的控制,即使這意味着需要更多的工作。單個EXE文件可以公開獲得,說明+多個文件只能通過聯繫我們的銷售團隊獲得。

此方法爲我們提供了兩全其美的解決方案,併爲家庭和企業客戶提供了不同的默認配置 - 默認情況下,企業對提示,提示,啓動畫面,自動更新和歡迎對話框均處於禁用狀態安裝,但爲「單一」用戶啓用。

0

關於:1: An archive: 2: A SFX archive

你可以使用一個自解壓的.ZIP自動啓動一個安裝程序。 WinZip提供這種支持便宜。這樣,它會更友好。它可以配置爲在沒有提示的情況下啓動引導程序。

關於:3: Single file bootstrapper

在聽起來像一個InstallShield推銷員的風險,2009年的InstallShield會照顧你問的一切 - 它在平滑需要一個引導程序的MSI缺點。您可以使用發行嚮導來創建一個.EXE一體式引導程序。或者您可以創建一個非常小的Web部署設置,然後從網站下載有效內容。或者,您可以將不同的功能放在單獨的.CAB文件中,並且用戶只需要部署與他想安裝的功能對應的CAB文件。 InstallShield捆綁了許多可以添加到安裝程序中的先決條件。

根據您的喜好,MSI v4.5和5.0可能會對您有所幫助 - 它們具有對多包事務鏈的本機支持。當然,根據您支持的操作系統,您可能仍然需要引導程序來確保MSI支持的正確級別存在。

+0

我對InstallShield並不滿意,但IS2009應該能夠處理您的所有需求。我正在修改最初在IS6中編寫腳本的安裝程序,而IS2009正在極大地簡化事情。 – DaveE 2009-08-20 05:06:44

0

我有一個類似的問題,我需要分發一些可選的支持軟件,MSI安裝程序和另一個文件,只是爲了使MSI文件需要它。我基本上創建了一個本地應用程序來處理整個過程。我寫了一個關於它的博客herehttp://blog.foldertrack.com/?p=45

1

我們使用Wix創建MSI文件,這些文件非常靈活並且可以通過構建腳本輕鬆實現自動化。

要將多個MSI/EXE文件鏈接在一起以便通過單個引導程序進行分發,我強烈建議使用DotNetInstaller。我與這個產品沒有任何關聯或者隸屬關係,但是它已經成爲了在非託管代碼中生成高度可配置引導程序的項目的救星。

我寫了我最近的經驗,在開發多語言MSI和引導程序使用這些技術here。這從整個過程開始講述。使用DotNetInstaller,您可以根據需要從URL下載和安裝依賴項,或者直接在引導程序中直接嵌入它們。我也考慮過WIX自己的SETUPBLD引導程序生成器和GenerateBootStrapper MSBuild任務,但它們非常基礎。也就是說WIX 3.5 Burn實用程序目前正在開發中,一旦發佈,它可能是一個相當不錯的選擇。