應用程式部署必要條件 (Windows 桌面)

若要成功安裝並執行您的 Windows 桌面應用程式,請先在目標電腦上安裝應用程式所依賴的所有元件。 例如,大部分使用 Visual Studio 建立的應用程式都對 .NET Framework 具有相依性。 在此情況下,目的地電腦上必須存在正確的通用語言執行平台版本。

您可以在 [必要條件] 對話方塊中選取這些必要條件,然後在安裝過程中安裝 .NET Framework 和任何其他可轉散發套件。 這個做法稱為啟動載入。 Visual Studio 會產生名為 Setup.exe 的 Windows 可執行程式 (又稱為「啟動載入器」)。 啟動載入器負責在應用程式執行前安裝這些必要條件。 如需選取這些必要條件的詳細資訊,請參閱必要條件對話方塊

每個必要條件都是啟動載入器套件。 啟動載入器套件是目錄和檔案的群組,其中包含描述如何安裝必要條件的資訊清單檔。 如果 [必要條件] 對話方塊中未列出您應用程式的必要條件,您可以建立自訂啟動載入器套件並將必要條件新增至 Visual Studio。 然後即可在 [必要條件] 對話方塊中選取必要條件。 如需詳細資訊,請參閱建立啟動載入器套件

根據預設,會啟用啟動載入功能進行 Windows Installer 部署 (藉由使用 Visual Studio 中的安裝程式專案)和 ClickOnce 部署。 針對 Windows Installer 部署產生的啟動載入器未簽署,但在 ClickOnce 部署中,啟動載入器已簽署。 您可以停用元件的啟動載入,不過只有在您確定所有目標電腦上都已安裝正確版本的元件時,才應該這樣做。

啟動載入和 ClickOnce 部署

在用戶端電腦上安裝應用程式之前,ClickOnce 會檢查用戶端,確定該用戶端具有應用程式資訊清單中所指定的特定需求。 其中包括下列需求:

  • Common Language Runtime 的最小必要版本,在應用程式資訊清單中會指定為一個組件相依性。

  • 應用程式所需之 Windows 作業系統的最小必要版本,如應用程式資訊清單中的 <osVersionInfo> 項目所指定。 (請參閱 <dependency> 元素。)

  • 您必須在全域組件快取 (GAC) 中預先安裝所有組件的最低版本,如組件資訊清單中的組件相依性宣告所指定。

    ClickOnce 可以偵測遺漏的必要條件,而且您可以使用啟動載入器來安裝必要條件。 如需詳細資訊,請參閱作法:使用 ClickOnce 應用程式安裝必要條件

注意

若要變更資訊清單中 Visual Studio 和 MageUI.exe 等工具所產生的值,您必須在文字編輯器中編輯應用程式資訊清單,然後重新簽署應用程式資訊清單和部署資訊清單。 如需詳細資訊,請參閱如何:重新簽署應用程式和部署資訊清單

如果您使用 Visual Studio 和 ClickOnce 部署應用程式,預設會根據方案中的 .NET Framework 版本來選取啟動載入器套件。 但是,如果您變更目標 .NET Framework 版本,則必須手動更新 [必要條件] 對話方塊中的選項。

目標 .NET Framework 選取的啟動載入器套件
.NET Framework 4 Client Profile .NET Framework 4 Client Profile

Windows Installer 3.1
.NET Framework 4 .NET Framework 4

Windows Installer 3.1

使用 ClickOnce 部署時,由 [ClickOnce 發佈精靈] 所產生的 Publish.htm 網頁會指向只安裝應用程式的連結,或是指向同時安裝應用程式和啟動載入元件的連結。

如果您使用 [ClickOnce 發行精靈] 或 Visual Studio 中的 [發行] 頁面產生啟動載入器,將會自動簽署 Setup.exe。 但是,如果您要使用客戶的憑證來簽署啟動載入器,則可以稍後再簽署這個檔案。

啟動載入和 MSBuild

如果您不是使用 Visual Studio,而是在命令列上編譯應用程式,則可以使用 Microsoft Build Engine (MSBuild) 工作,來建立 ClickOnce 啟動載入應用程式。 如需詳細資訊,請參閱 GenerateBootstrapper 工作

您也可以使用電子軟體散發系統 (例如 Microsoft Systems Management Server (SMS)) 來預先部署元件,而不使用啟動載入。

啟動載入器 (Setup.exe) 命令列引數

由 Visual Studio 和 MSBuild 工作所產生的 Setup.exe 會支援下列一組命令列引數。 任何其他引數會轉送至應用程式安裝程式。

如果您變更任何啟動載入器選項,則必須變更未簽署的啟動載入器,稍後再簽署啟動載入器檔案。

命令列引數 描述
-?, -h, -help 顯示 [說明] 對話方塊。
-url, -componentsurl 顯示此安裝程式的儲存 URL 和元件 URL。
-url=location 設定 Setup.exe 將在其中尋找 ClickOnce 應用程式的 URL。
-componentsurl=location 設定 Setup.exe 將在其中尋找相依性 (例如 .NET Framework) 的 URL。
-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 功能。