若要成功安裝並執行 Windows 傳統型應用程式,您必須將應用程式相依的元件安裝到目標電腦上。 本文提供 ClickOnce 和 Windows Installer 安裝程式 專案所需元件安裝的概觀。
您可以選擇必要的元件,這些元件被稱為前置條件,例如 .NET Framework 和其他任何可重分發套件,作為您安裝的一部分。 安裝必要條件的程序稱為 初始化安裝。 Visual Studio 會產生名為 Setup.exe的 Windows 可執行程式,也稱為 啟動載入器。 啟動載入器會負責在應用程式執行之前安裝這些必要條件。 如需選取這些必要條件的詳細資訊,請參閱 必要條件對話方塊。
啟動載入器套件是一組目錄和檔案,其中包含描述必要條件安裝方式的指令清單檔案。 在 必要條件對話框 中出現的每個必要條件都是啟動載入器套件。 如果您的應用程式必要條件未列在 [ 必要條件] 對話框中,您可以建立自定義啟動載入器套件,並將其新增至 Visual Studio。 然後,您可以在 [ 必要條件] 對話框中選取必要條件。 如需詳細資訊,請參閱 建立啟動載入器套件。
預設情況下,Windows Installer 部署(使用 Visual Studio 中的安裝程式專案)和 ClickOnce 部署都啟用了引導程序。 針對 Windows Installer 部署產生的啟動載入器並未簽署,但在 ClickOnce 部署中,啟動載入器會簽署。 您可以停用元件的啟動載入,但只有在您確定所有目標計算機上已安裝正確的元件版本時,才應該這麼做。
啟動載入和 ClickOnce 部署
在用戶端電腦上安裝應用程式之前,ClickOnce 會檢查用戶端,以確保其具有應用程式指令清單中指定的需求。 這些需求包括下列各項:
Common Language Runtime 的最低必要版本,它被指定為應用程式清單中的組件相依性。
應用程式所需的最低必要 Windows 作業系統版本,如應用程式清單中使用
<osVersionInfo>元素所指定。 (請參閱 <相依性> 元素。必須預先安裝在全域組件快取(GAC)中的所有組件的最低版本,乃由組件指令檔中所指定的組件相依性宣告決定。
ClickOnce 可以偵測遺漏的必要條件,而且您可以使用啟動載入器來安裝必要條件。 如需詳細資訊,請參閱 如何:使用 ClickOnce 應用程式安裝必要條件。
備註
若要變更 Visual Studio 和 MageUI.exe等工具所產生的指令清單值,您必須在文字編輯器中編輯應用程式指令清單,然後重新簽署應用程式和部署指令清單。 如需詳細資訊,請參閱 如何:重新簽署應用程式和部署指令清單。
如果您使用 Visual Studio 和 ClickOnce 來部署應用程式,預設選取的啟動載入器套件取決於方案中的 .NET Framework 版本。 不過,如果您變更目標 .NET Framework 版本,則必須手動更新 [ 必要條件] 對話框中 的選項。
使用 ClickOnce 部署時,ClickOnce 發佈精靈工具所產生的 [Publish.htm] 頁面會指向僅安裝應用程式的連結,或指向同時安裝應用程式和啟動元件集的連結。
如果您使用 ClickOnce 發佈精靈或 Visual Studio 中的發行頁面來產生啟動載入器,則 Setup.exe 會自動簽署。 不過,如果您想要使用客戶的憑證來簽署引導啟動程序,您可以稍後再簽署檔案。
啟動載入和 MSBuild
如果您沒有使用 Visual Studio,而是在命令行上編譯應用程式,您可以使用 Microsoft Build Engine (MSBuild) 工作來建立 ClickOnce 啟動載入應用程式。 如需詳細資訊,請參閱 GenerateBootstrapper 工作。
作為啟動載入的替代方案,您可以使用電子軟體發佈系統預先部署元件,例如Microsoft系統管理系統 (SMS)。
啟動載入器 (Setup.exe) 命令列參數
Visual Studio 和 MSBuild 工作所產生的 Setup.exe 支援下列命令行自變數集。 任何其他自變數會轉送至應用程式安裝程式。
如果您變更任何啟動載入器選項,則必須變更未簽署的啟動載入器,然後稍後簽署啟動載入器檔案。
| 命令列引數 | 說明 |
|---|---|
| -?, -h, -help | 顯示 [說明] 對話框。 |
| -url、 -componentsurl | 顯示此設定的預存 URL 和元件 URL。 |
-網址=location |
設定 Setup.exe 會尋找 ClickOnce 應用程式的 URL。 |
-組件網址=location |
設定 Setup.exe 會尋找相依性的 URL,例如 .NET Framework。 |
-homesite=true|false |
當 true 從廠商網站上的首選位置下載相依元件時。 此設定會覆寫 -componentsurl 設定。 當 false 從 -componentsurl 所指定的 URL 下載依賴項時。 |
操作系統支援
Windows Server 2008 Server Core 或 Windows Server 2008 R2 Server Core 不支援 Visual Studio 啟動載入器,因為它們提供功能有限的低維護伺服器環境。 例如,Server Core 安裝選項僅支援 .NET Framework 3.5 Server Core 配置檔,無法執行相依於完整 .NET Framework 的 Visual Studio 功能。