🎸

WinUI 3 アプリの msixbundle を作成する

に公開

はじめに

WinUI 3 アプリで msixbundle 形式のパッケージを作成する方法です。

デフォルトのテンプレートを使う場合と Template Studio を使う場合で、多少やり方が異なります。

デフォルトのテンプレートを使用する場合

アプリ作成

Visual Studio で WinUI 3 アプリのプロジェクトを新規作成します。

WinUI アプリのテンプレートは

  • 空のアプリ、パッケージ化(デスクトップの WinUI 3)
  • 空のアプリ、Windows アプリケーションパッケージプロジェクトでパッケージ化(デスクトップの WinUI 3)

の 2 つがありますが、タイトルが長い方のテンプレートを使用します。

名前予約と関連付け

Microsoft Store で配付する際のアプリ名を予約します。

Microsoft パートナーセンターにログインし、[ホーム → アプリとゲーム]ページの[新しい製品 → MSIX または PWA アプリ]を選択します。

予約したい名前を入力して「製品名の予約」ボタンをクリックします。

名前予約できたらアプリケーションと関連付けます。

Visual Studio のプロジェクト右クリックから[パッケージ化して公開する → アプリケーションをストアと関連付ける]メニューをクリックします。

予約した名前を選択します。

パッケージ作成

ソリューション内にプロジェクトが 2 つ作成されていますが、Package プロジェクトのほうを右クリックし、[公開 → アプリパッケージの作成]をクリックします。

配付方法は「○○(開発者)により△△(アプリ名)として Microsoft ストアに」にします。

パッケージの選択と構成でパッケージに含めたいアーキテクチャを選択します。

ソリューションの AppPackages フォルダー配下に .msixupload および .msixbundle が作成されます。

Template Studio を使用する場合

アプリ作成

Visual Studio でプロジェクトを新規作成し、「WinUI の Template Studio」テンプレートを選択します。

機能パネルで「MSIX パッケージ」を選択します(デフォルトで選択されています)。

名前予約と関連付け

名前予約と関連付けについてはデフォルトのテンプレートを使用する場合と同様です。

パッケージ作成

ソリューションエクスプローラーのプロジェクトを右クリックし、[公開 → アプリパッケージの作成]をクリックします。

配付方法は「○○(開発者)により△△(アプリ名)として Microsoft ストアに」にします。

パッケージの選択と構成でパッケージに含めたいアーキテクチャを選択します。

ソリューションの AppPackages フォルダー配下に .msix が作成されます(.msixbundle ではありません)。

AppPackages フォルダー直下に in フォルダーを作成し、.msix のみを in フォルダーにコピーします。

PowerShell を起動し、AppPackages フォルダーに移動します。

PS> cd C:\~\AppPackages

makeappx で .msix から .msixbundle を作成します。

PS> & 'C:\Program Files (x86)\Windows Kits\10\App Certification Kit\makeappx.exe' bundle /d in /p out.msixbundle /o

.msixbundle が作成されます。

自己署名入りのテスト証明書の作成

サイドローディングする場合は、テスト証明書の作成が必要です。

Package.appxmanifest をダブルクリックし、パッケージ化タブを開きます。

証明書の選択ボタンをクリックすると、証明書の選択ウィンドウが開きます。

作成ボタンをクリックすると、自己署名入りのテスト証明書の作成ウィンドウが開きます。

発行者共通名とパスワードを入力して OK します。

確認環境

項目 環境
OS Windows 11 Pro 23H2
Visual Studio 2022 17.9.2
Template Studio for WinUI 5.5
.NET 8.0
Windows App SDK 1.5 (1.5.240227000)

参考リンク

主な改訂履歴

  • 2024/03/10 初版。
  • 2024/03/19 「自己署名入りのテスト証明書の作成」発行者共通名について補足。
  • 2025/10/30 「自己署名入りのテスト証明書の作成」SigningCertificateThumbprintNotInStore について補足。

Discussion