應用程式部署必要條件
若要確保應用程式會順利安裝並執行,您首先必須確認目標電腦上已經安裝與應用程式具相依性的所有元件。 例如,大部分利用 Visual Studio 建立的應用程式都對 .NET Framework 具有相依性,在安裝應用程式之前,正確的 Common Language Runtime 版本必須已存在於目標電腦上。
您可以在 [必要條件] 對話方塊中選取這些必要條件,然後安裝 .NET Framework 和其他可轉散發套件以做為安裝的一部分。 這個作法稱為「啟動載入」(Bootstrapping)。 接下來,Visual Studio 會產生名為 Setup.exe 的 Windows 可執行檔程式,又稱為「啟動載入器」(Bootstrapper)。 啟動載入器負責在應用程式執行前安裝這些必要條件。 如需選取這些必要條件的詳細資訊,請參閱必要條件對話方塊。
每個必要條件都是啟動載入器套件。 啟動載入器套件是一組目錄及檔案,內含描述必要條件安裝方式的資訊清單檔。 如果 [必要條件] 對話方塊中沒有列出應用程式必要條件,您可以建立自訂啟動載入器套件,並將所需的必要條件加入至 Visual Studio, 然後就可以選取 [必要條件] 對話方塊中的必要條件。 如需詳細資訊,請參閱建立啟動載入器套件。
預設會啟用 Windows Installer 部署 (使用 Visual Studio 中的設定專案) 和 ClickOnce 部署的啟動載入。 不會簽署針對 Windows Installer 部署所產生的啟動載入,但在 ClickOnce 部署中,則會簽署啟動載入。 雖然您可以停用元件的啟動載入,不過只有在您確定所有目標電腦上都已安裝正確版本的元件時,才應該這樣做。
啟動載入和 Windows Installer 部署
如果您使用 Visual Studio 的安裝專案部署應用程式,則預設的啟動條件為 .NET Framework 4 Client Profile,而預設選取的啟動載入器套件為 .NET Framework 4 Client Profile 和 Windows Installer 3.1。 如果應用程式以其他版本的 .NET Framework 做為目標,您就必須更新 [必要條件] 對話方塊中的必要條件元件。 如需詳細資訊,請參閱 HOW TO:Windows Installer 部署的安裝必要條件。
如果您使用 Visual Studio 中的安裝專案產生啟動載入器,Setup.exe 就會是尚未簽署的狀態, 但是您可以使用 SignTool.exe 進行簽署。 如需詳細資訊,請參閱 HOW TO:使用 SignTool.exe 簽署安裝程式檔案 (Windows Installer)。
啟動載入和 ClickOnce 部署
在用戶端電腦上安裝應用程式之前,ClickOnce 將會檢查用戶端,以確定它具有應用程式資訊清單內指定的某些需求, 這些需求包括下列各項:
Common Language Runtime 的最小必要版本,這是在應用程式資訊清單內指定為組件相依性的項目。
應用程式要求之 Windows 作業系統的最小必要版本,如 <osVersionInfo> 項目在應用程式資訊清單內所指定 (請參閱 <dependency> 項目 (ClickOnce 應用程式))。
必須預先安裝在全域組件快取 (GAC) 內的任一組件和所有組件的最小版本,如組件資訊清單 (Assembly Manifest) 內的組件相依性宣告所指定。
ClickOnce 可以偵測遺失的必要條件,而且您可以使用啟動載入器來安裝必要條件。如需詳細資訊,請參閱 HOW TO:使用 ClickOnce 應用程式安裝必要條件。
注意事項 |
---|
若要變更工具 (例如 Visual Studio 和 MageUI.exe) 所產生之資訊清單中的值,您必須使用文字編輯器來編輯應用程式資訊清單,然後重新簽署應用程式資訊清單和部署資訊清單。 如需詳細資訊,請參閱 HOW TO:重新簽署應用程式和部署資訊清單。 |
如果您使用 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。 但是,如果您想要使用客戶的憑證來簽署啟動載入器,則可以稍後再簽署這個檔案。 如需詳細資訊,請參閱 HOW TO:使用 SignTool.exe 簽署安裝程式檔案 (Windows Installer)。
啟動載入和 MSBuild
如果您不是使用 Visual Studio,而是在命令列上編譯應用程式,您可以利用 Microsoft Build Engine (MSBuild) 工作來建立 ClickOnce 啟動載入的應用程式。 如需詳細資訊,請參閱 GenerateBootstrapper 工作。
您可以使用電子軟體散發系統 (如 Microsoft Systems Management Server,SMS) 預先部署元件做為啟動載入的替代方式。
啟動載入器 (Setup.exe) 命令列引數
由 Visual Studio 和 MSBuild 工作所產生的 Setup.exe 可支援下列命令列引數集合。 任何提供給啟動載入應用程式的引數若超出這些範圍都會轉送至應用程式的安裝程式。
如果您變更任何啟動載入器選項,就必須變更未簽署的啟動載入器,稍後再簽署啟動載入器檔案。 如需詳細資訊,請參閱 HOW TO:使用 SignTool.exe 簽署安裝程式檔案 (Windows Installer) 或 HOW TO:使用 SignTool.exe 簽署安裝程式檔案 (ClickOnce)。
命令列引數 |
描述 |
---|---|
-?, -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 功能。