Windows 應用程式 SDK 部署概觀
部署 Windows 應用程式 SDK 的兩種方式:
- 架構相依。 您的應用程式需要在目標機器上安裝 Windows 應用程式 SDK 執行階段和/或架構套件。 相依於 Framework 的部署是 Windows App SDK 的預設部署模式,可使其有效地使用機器資源和服務性。
- 獨立。 您的應用程式已包含 Windows 應用程式 SDK 的相依性。 獨立部署是在 Windows 應用程式 SDK 1.1 Preview 1 中引進的部署選項。
這個主題還使用了封裝應用程式、在外部位置進行封裝的應用程式,以及未封裝應用程式等詞彙。 如需這些詞彙的說明,請參閱部署概觀。
架構相依的部署 | 獨立部署 | |
---|---|---|
優點 | 小型部署。 只散發應用程式及其其他相依性。 Windows 應用程式 SDK 執行階段和框架套件將由封裝的架構相依應用程式自動安裝;或者由在外部位置進行封裝或未封裝的架構相依應用程式以 Windows 應用程式 SDK 執行階段安裝程式的一部分安裝。 可提供服務。 Windows 應用程式 SDK 的維護更新會自動透過 Windows 應用程式 SDK 架構套件安裝,不需要任何應用程式採取動作。 |
控制 Windows 應用程式 SDK 版本。 您可以控制與應用程式一起部署的 Windows 應用程式 SDK 版本。 除非您重建並轉散發應用程式,否則維護 Windows 應用程式 SDK 更新不會影響您的應用程式。 與其他應用程式隔離。 應用程式和使用者無法在不解除安裝整個應用程式的情況下,解除安裝 Windows 應用程式 SDK 相依性。 Xcopy 部署。 由於 Windows 應用程式 SDK 相依性是由您的應用程式所攜帶,因此只要透過 xcopy 建置輸出即可部署應用程式,而不需要任何額外的安裝需求。 |
缺點 | 其他安裝相依性。 需要安裝 Windows 應用程式 SDK 執行階段和/或架構套件,這會增加應用程式安裝的複雜性。 共用相依性。 解除安裝共用相依性的風險。 解除安裝共用元件的應用程式或使用者,可能會影響其他共用相依性之應用程式的使用者體驗。 相容性風險。 維護 Windows 應用程式 SDK 更新帶來重大變更的風險。 雖然維護更新應該提供回溯相容性,但可能會引進退化情況。 |
較大的部署 (僅限未封裝的應用程式)。 由於您的應用包含 Windows 應用程式 SDK,因此所需的下載大小和硬碟空間大於架構相依的版本。 效能 (僅限未封裝的應用程式)。 載入速度較慢,而且會使用更多記憶體,因為字碼頁不會與其他應用程式共用。 服務中斷。 Windows 應用程式 SDK 隨您的應用程式一起散發的版本,只能藉由發行新版本的應用程式來更新。 您必須負責將 Windows 應用程式 SDK的服務更新整合到您的應用程式。 |
另請參閱建立您的第一個 WinUI 3 專案,以及使用現有專案中的 Windows 應用程式 SDK。
架構相依部署的詳細資訊
在設定架構相依應用程式以進行部署之前,若要深入瞭解應用程式在使用 Windows 應用程式 SDK 時所需的相依性,請檢閱 Windows 應用程式 SDK 的部署架構。
已封裝的應用程式
如果您選擇使用架構相依的封裝應用程式 (請參閱部署概觀),以下是如何使用應用程式部署 Windows 應用程式 SDK 執行階段的說明:
在外部位置進行封裝或未封裝應用程式
如果您選擇使用在外部位置進行封裝的架構相依封裝應用程式,或架構相依的未封裝應用程式 (請參閱部署概觀),以下是如何使用應用程式部署 Windows 應用程式 SDK 執行階段的說明:
- 適用於在外部位置進行封裝或未封裝之架構相依應用程式的 Windows 應用程式 SDK 部署指南 (機器翻譯)
- 教學課程:在使用 Windows 應用程式 SDK 的在外部位置進行封裝或未封裝應用程式中,使用啟動程序載入器 API (機器翻譯)
獨立部署的詳細資訊
請參閱適用於獨立應用程式的 Windows 應用程式 SDK 部署指南。
初始化 Windows 應用程式 SDK
您應該初始化 Windows 應用程式 SDK 的方式取決於您封裝應用程式的方式,以及部署相對於 Windows 應用程式 SDK 執行階段的方式。 使用下一節中適用於您應用程式的內容。
已封裝的應用程式
您的應用程式部署方式 | 初始化方式 |
---|---|
架構相依 | 請參閱呼叫部署 API。 |
獨立 | 不需要初始化。 |
未封裝應用程式,以及在外部位置進行封裝的應用程式
您的應用程式部署方式 | 初始化方式 |
---|---|
架構相依 | 請參閱在外部位置進行封裝或未封裝的應用程式中使用啟動載入器 API。 |
獨立 | 請參閱退出 (或加入) 自動 UndockedRegFreeWinRT 支援。 |