套件組合 MSIX 套件

本文將說明使用 MSIX 封裝工具轉換 x86 和 x64 版 Windows 安裝程式之後,建立組合的程序。

將安裝程式的多個架構版本組合成一個實體後,就只需將組合上傳至 Store 或另一個發佈位置。 Windows 10 部署平台知悉 .msixbundle 套件類型,並只會下載適用您裝置架構的檔案。 請記住,如果您決定針對特定應用程式發佈 .msixbundle,您就無法回復為只發佈一個 MSIX 套件。

下一節會提供建置 .msixbundle 的逐步方法。 我們假設您已將現有的 x86 和 x64 版 Windows 安裝程式轉換為 MSIX 套件。

設定

您需要下列設定,才能成功建置 MSIX 組合:

  • Windows 10 SDK (1809 版或更新版本)
  • 已轉換的 x64 和 x86 MSIX 套件

步驟 1:尋找 MakeAppx.exe

MakeAppx.exe 是 Windows 10 SDK 中提供的工具,可用於封裝和組合 MSIX 套件。 您將使用此工具將兩個 MSIX 套件組合在一起。

MakeAppx.exe 可用來擷取 Windows 10 應用程式套件或組合的檔案內容。 也可用來加密及解密應用程式套件和組合。

安裝 Windows 10 SDK 之後,MakeAppx.exe 通常會位在此處:

  • [x86] - C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe
  • [x64] - C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\MakeAppx.exe

步驟 2:套件組合

使用 MakeApp.exe 來組合套件最簡單的方式是,將您想要組合在一起的所有套件加入一個資料夾。 除了需要配套的套件之外,目錄必須不含其他所有專案。

將想要組合的應用程式套件移至一個目錄,如下列螢幕擷取畫面所示。

Bundle packages in a directory

注意

MakeAppx.exe 只會組合身分識別相同的套件,這表示 AppID、發行者、版本都必須相同。 只有應用程式套件的套件處理器架構可以不同。

MakeAppx.exe 有下列的命令列語法。

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe" bundle /d input_directorypath 
/p <filepath>.msixbundle

以下是命令的範例。

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe" bundle /d c:\AppPackages\ 
/p c:\MyLOBApp_10.0.0.0_ph32m9x8skttmg.msixbundle

執行命令之後,會在指定的路徑中建立未簽署的 .msixbundle。 套件在進行組合之前不需要簽署。

步驟 3:簽署套件組合

建立組合之後,您必須先簽署套件才能將應用程式散發給使用者或進行安裝。

若要簽署套件,您需要一般程式碼簽署憑證,並使用 Windows 10 SDK 中的 SignTool.exe。

我們強烈建議您使用憑證授權單位頒發的信任憑證,因為這可讓套件順暢地散發及部署到您的一般使用者裝置上。 一旦您擁有私人憑證 (.pfx 檔案) 的存取權,就可以簽署套件,如下所示。

注意

SignTool.exe 與 Windows 10 SDK 中的 MakeAppx.exe 位於相同目錄中。

SignTool.exe 有下列的命令列語法。

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\SignTool.exe" sign /fd <Hash Algorithm> /a 
/f <Path to Certificate>.pfx /p <Your Password> <File path>.msixbundle

以下是命令的範例。

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\SignTool.exe" sign /fd SHA256 /a 
/f c:\private-cert.pfx /p aaabbb123 c:\MyLOBApp_10.0.0.0_ph32m9x8skttmg.msixbundle

如需有關如何使用 SignTool.exe 簽署應用程式套件的詳細資訊,請參閱這篇文章

成功簽署組合之後,您就可以將其裝載在網路共用或任何內容發佈網路,以將其發佈給您的使用者。