MSIX パッケージのバンドル
この記事では、MSIX Packaging Tool を使用して x86 および x64 バージョンの Windows インストーラーを変換した後にバンドルを作成するプロセスについて説明します。
インストーラーの複数のアーキテクチャ バージョンを 1 つのエンティティにバンドルすることで、このバンドルをストアまたは別の配布場所にアップロードするだけで済みます。 Windows 10 の展開プラットフォームによって .msixbundle パッケージ タイプが認識され、お使いのデバイスのアーキテクチャに適用可能なファイルのみがダウンロードされます。 特定のアプリ用に .msixbundle を配布することにした場合、MSIX パッケージのみの配布に戻すことはできません。
次のセクションでは、.msixbundle を構築するための方法を手順に従って説明します。 ここでは、Windows インストーラーの既存の x86 および x64 バージョンが既に 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 つのディレクトリに移動します。
Note
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 ファイル) にアクセスできるようになったら、次に示すように、パッケージに署名できます。
Note
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 を使用してアプリ パッケージに署名する方法の詳細については、この記事を参照してください。
バンドルに正常に署名できたら、ネットワーク共有または任意のコンテンツ配信ネットワークでバンドルをホストしてユーザーに配布する準備が整ったことになります。