一般套件組合應用程式套件
重要
如果您想要提交應用程式至 Microsoft Store,您需要連絡Windows 開發人員支援,以取得使用一般套件組合的核准。
一般套件組合是組合應用程式套件檔案的改良方式。 典型的 Windows 應用程式套件組合檔案會使用多層封裝結構,其中應用程式套件檔案必須包含在套件組合中,一般套件組合只會參考應用程式套件檔案來移除此需求,使其不在應用程式套件組合之外。 由於應用程式套件檔案不再包含在套件組合中,因此可以平行處理,這會導致上傳時間降低、發佈速度較快 (,因為每個應用程式套件檔案可以同時處理) ,最後更快速的開發反復專案。
一般套件組合的另一個優點是建立較少的套件。 由於只會參考應用程式套件檔案,因此如果套件未在兩個版本之間變更,則應用程式的兩個版本可以參考相同的套件檔案。 為應用程式的下一個版本建置套件時,這可讓您只建立已變更的應用程式套件。 根據預設,一般套件組合會參考相同資料夾中的應用程式套件檔案本身。 不過,這個參考可以變更為其他路徑(相對路徑、網路共用資料夾和 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 工具建立應用程式套件。
使用封裝配置
或者,您可以使用封裝配置來建立一般套件組合。 若要這樣做,請將應用程式套件組合資訊清單的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 和資產 .msix 所組成,而且您知道 v2 套件組合只有資產套件的變更,則只需要建置 .msixbundle 和資產 .msix 才能安裝更新。 您必須建置 v2 的 .msixbundle,因為套件組合會持續追蹤其 .msix 套件的所有版本。 藉由將資產 .msix 的版本提升至 v2,您需要具有這個新參考的新 .msixbundle。 v2 .msixbundle 可以包含 v1 x86 .msix 和 x64 .msix 的參考;一般套件組合的 .msix 套件不需要具有相同的版本號碼。