Share via


一般套件組合應用程式套件

重要

如果您想要將應用程式提交至市集,您必須連絡 Windows 開發人員支援 人員以取得核准,才能使用一般套件組合。

一般套件組合是組合應用程式套件檔案的改良方式。 一般的 Windows 應用程式套件組合檔案會使用多層封裝結構,其中應用程式套件檔案必須包含在套件組合內,一般套件組合只會參考應用程式套件檔案來移除此需求,使其不在應用程式套件組合之外。 由於應用程式套件檔案已不再包含在套件組合中,因此可以平行處理,這會導致上傳時間降低、發佈速度較快(因為每個應用程式套件檔案都可以同時處理),最終更快速地進行開發反覆專案。

Flat Bundle Diagram

一般套件組合的另一個優點是需要建立較少的套件。 由於只參考應用程式套件檔案,如果套件未在兩個版本之間變更,則兩個版本的應用程式可以參考相同的套件檔案。 這可讓您在建置下一個應用程式版本的套件時,只建立已變更的應用程式套件。 根據預設,一般套件組合會參考與本身相同資料夾中的應用程式套件檔案。 不過,此參考可以變更為其他路徑(相對路徑、網路共用和 HTTP 位置)。 若要這樣做,您必須在一般 套件組合建立期間直接提供 BundleManifest

如何建立一般套件組合

您可以使用MakeAppx.exe工具建立一般套件組合,或使用封裝配置來定義套件組合的結構。

使用MakeAppx.exe

若要使用MakeAppx.exe 建立一般套件組合,請像往常一樣使用 “MakeAppx.exe bundle” 命令,但搭配 /fb 參數來產生一般應用程式套件組合檔案(由於它只會參考應用程式套件檔案且不包含任何實際承載,因此會非常小。

以下是命令語法的範例:

MakeAppx bundle [options] /d <content directory> /fb /p <output flat bundle name>

如需使用MakeAppx.exe的詳細資訊,請參閱 使用MakeAppx.exe工具建立應用程式套件。

使用封裝配置

或者,您可以使用封裝配置來建立一般套件組合。 若要這樣做,請將 App 套件組合指令清單的 PackageFamily 元素中的 FlatBundle 屬性設定為 true。 若要深入瞭解封裝配置,請參閱 使用封裝配置建立套件。

如何部署一般套件組合

部署一般套件組合之前,每個應用程式套件(除了應用程式套件組合外)都必須使用相同的憑證進行簽署。 這是因為所有應用程式套件檔案 (.appx/.msix) 現在都是獨立的檔案,而且不再包含在應用程式套件組合中 (.appxbundle/.msixbundle) 檔案中。

簽署套件之後,您可以透過下列其中一個選項來安裝應用程式:

  • 按兩下應用程式套件組合檔案,以使用應用程式安裝程式進行安裝。
  • 使用 PowerShell 中的 Add-AppxPackage Cmdlet 並指向應用程式套件組合檔案(假設應用程式套件是應用程式套件組合預期它們的位置)。

您無法自行部署一般套件組合的個別 .appx/.msix 套件。 它們必須透過 .appxbundle/.msixbundle 進行部署。 不過,您可以在初始安裝之後更新一般套件組合的個別 .appx/.msix 套件。 如果您更新個別的 .appx/.msix 套件,您也需要更新一般套件組合的指令清單。

例如,如果您的 v1 一般套件組合是由 .msixbundle、x86 .msix、x64 .msix 和 asset .msix 所組成,而且您知道 v2 套件組合只有資產套件的變更,則只需要建置 .msixbundle 和資產 .msix 才能安裝更新。 您必須建置 v2 的 .msixbundle,因為套件組合會追蹤其 .msix 套件的所有版本。 藉由將資產 .msix 的版本提高到 v2,您需要具有這個新參考的新 .msixbundle。 v2 .msixbundle 可以包含 v1 x86 .msix 和 x64 .msix 的參考;一般套件組合的 .msix 套件不需要具有相同的版本號碼。