かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

他の人のアカウントに提出する用に UWP アプリをビルドする方法

一番簡単なのは、ストアのダッシュボードから Azure AD を紐づけて、そこに管理者ロールで追加してもらえば、普通に Visual Studio からストア向けパッケージ作れるんですが、それが出来ないケースでの方法です。

アカウント ユーザーの管理 - UWP applications | Microsoft Docs

他の人のアカウントに提出する appxupload の作り方

まず、アプリに関する情報をもらいます。ストアのダッシュボードの該当アプリのアプリ ID の項目に全部詰まってます。

f:id:okazuki:20180731132815p:plain

1. 証明書の作成

プロジェクトを Visual Studio で開いて Package.appxmanifest を開きます。 そしてパッケージ化タブで、発行者のところにある証明書の選択ボタンを押します。そして左下にあるドロップダウンからテスト証明書の作成を選択します。

f:id:okazuki:20180731134117p:plain

発行者共通名のところに、アプリの情報にある「パッケージ/ID/発行元」の「CN=XXXXXXXXXXXXXXXXXXXXXX」にある「XXXXXXXXXXXXXXXXXXXXXX」の値を入力します。CN=は入れないでください。

f:id:okazuki:20180731134155p:plain

2. パッケージ化タブの情報の変更

パッケージ化タブのパッケージ名、パッケージ表示名、発行者名をアプリの情報の「パッケージ/ID/名前」「ページの左上にあるアプリの名前」「パッケージ/プロパティ/発行元表示名」に変更します。 バージョン番号はリリースするバージョン番号に合わせて編集してください。

3. ストア用パッケージを生成するように設定を変更する

この後の手順でストア用パッケージを生成するように設定ファイルを手で編集します。

まず、Visual Studio でプロジェクトを右クリックしてアンロードします。 アンロードの仕方がわからない場合は Visual Studio 自体を閉じておくと安全です。

そして、ソリューションのフォルダに移動して プロジェクト名.csproj.user という名前のファイルをテキストエディタで開きます。 PropertyGroup タグの子要素として以下の値を追加してください。

<UapAppxPackageBuildMode>StoreUpload</UapAppxPackageBuildMode>

4. パッケージの作成

アプリパッケージの作成画面を開きます。

f:id:okazuki:20180731134935p:plain

そして、サイドロード用のパッケージを作成します。を選択して次へを選択します。

f:id:okazuki:20180731135242p:plain

ソリューション構成を Release にしたうえで作成ボタンを選択します。

f:id:okazuki:20180731135423p:plain

5. パッケージの確認

プロジェクトフォルダの下の AppPackages フォルダの中に appxupload という拡張子のファイルが作成されます。 これをストアのアカウントを持っている人に渡してアップロードすれば完了です。