この記事では、MSIX Packaging Tool を使用して x86 および x64 バージョンの Windows インストーラーを変換した後にバンドルを作成するプロセスについて説明します。
インストーラーの複数のアーキテクチャ バージョンを 1 つのエンティティにバンドルすることで、バンドルのみをストアまたは別の配布場所にアップロードする必要があります。 Windows 10 展開プラットフォームは .msixbundle パッケージの種類を認識しており、デバイスのアーキテクチャに適用できるファイルのみをダウンロードします。 特定のアプリに .msixbundle を配布する場合は、MSIX パッケージのみを配布するように戻すことはできません。
次のセクションでは、.msixbundle を構築する手順について説明します。 既存の x86 および x64 バージョン の Windows インストーラーを MSIX パッケージに既に変換していることを前提としています。
設定
MSIX バンドルを正常にビルドするには、次のセットアップが必要です。
- Windows 10 SDK (バージョン 1809 以降)
- 変換された x64 および x86 MSIX パッケージ
手順 1: MakeAppx.exe を見つける
MakeAppx.exe は、MSIX パッケージのパッケージ化とバンドルを可能にする Windows 10 SDK で使用できるツールです。 このツールを使用して、2 つの 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 でパッケージをバンドルする最も簡単な方法は、バンドルするすべてのパッケージを 1 つのフォルダーに追加することです。 バンドルする必要があるパッケージを除いては、何も含まれていないディレクトリである必要があります。
次のスクリーンショットに示すように、バンドルするアプリ パッケージを 1 つのディレクトリに移動します。
注
MakeAppx.exe は、同じ ID を持つパッケージのみをバンドルします。つまり、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を使用してアプリ パッケージに署名する方法の詳細については、 この記事を参照してください。
バンドルに正常に署名したら、ネットワーク共有または任意のコンテンツ配布ネットワークでバンドルをホストして、ユーザーに配布する準備が整います。