前書き
ちょっとしたWindows用のゲームツールをVC++/win32apiで作ったのですが、
ゲーム内の仲間にタダで配るのもどうなんだろ?ってことでストアに登録することにしました。
(そのゲームは毎日課金アイテムを買い続けていないと取り残されるゲームなので、
たかだか数100円くらいのソフトくらい、みんな買ってくれるよな、という思いから)
こちらを参考にしてすすめました。躓いたところを補足していきます。
1. MicrosoftStoreのパートナーになって、アプリ名を登録する
料金はそんなに高いものでもないし、一回払うと永久会員になれます。
登録型式として、MSIXまたはMSIを選択できますが、
MSIの登録には、そのファイルを置いた場所のURLを指定する必要があるようだったので、ファイルのアップロードで済むMSIX型式を選択しました。
アプリ名を登録すると、登録情報が作成されるのでメモっておきます。
2. はじめにMSIインストーラを作成しておく
VisualStudio(私は未だにVS2017を使い続けています)において、
登録したい実行ファイルのソリューションにMSIのプロジェクトを追加し、
まずはMSIインストーラを作成します。
MSIインストーラ内に、スタートメニューに置くショートカットがあると、
あとの作業でMSIXパッケージを作成するときにこのショートカットがパッケージに追加されてスタートメニューにアイコンが2重表示されることになってしまうので、
ショートカットは作成不要です。(あとの作業でMSIXパッケージの内容を修正することは
可能です)
3. MSI->MSIXに変換する
MSIX packing toolを使用して、とりあえずMSIXパッケージを作成してみます。
作成したMSIインストーラファイルを指定し、
メモっておいた登録情報を記入して作業を進めると、
指定したMSIインストーラが実行され、その結果がキャプチャされて
MSIXパッケージが作成されます。
このMSIXパッケージをそのままストアに提出してもよいのですが
(署名未選択で作成したMSIXを提出しても登録は可能です)
ストアに登録されて一覧表示される以上、MSさんは見た目を非常に気にするようなので、
各種アイコンを作成して整えていきます。
(アイコン画像のジャギーがひどかったりするとリジェクトされます)
4. アイコンを作成する
いままであまり真面目にアイコンを作成したことがなかったのですが、icoファイルには
16x16,24x24,32x32,48x48,256x256の画像が要件として必須のようです。
それぞれの画像は元画像(大サイズ)をペイントソフトで縮小して作成すればいいだけなのですが、それをico型式の1ファイルに纏める方法を知りませんでした。
探してみるとpixelformerというアプリが使えそうだったので(さすがに古いな)、これを使ってicoファイルを作成して組み込み、実行ファイルを再作成しました。
次に、タイルアイコンの方ですが、次の方法で作成しました。
・ソリューションに、Windowsアプリケーションパッケージプロジェクトを追加する。
・追加プロジェクトのPackage.appxmanifestを表示する。
・その中のビジュアル資産タブを表示すると、資産ジェネレーターという項目があるので、
これに大サイズの画像をドロップして自動作成させる。
なんかいっぱい画像ファイルができるのですが、これをMSIXパッケージ内のファイルに
置き換えていくことにします。
5. MSIXを修正する
MSIX Heroというツールをストアからダウンロードしてきて作業しました。
まずは3で作成したパッケージをアンパックします。
AppxManifest.xmlというファイルにパッケージの内容が記述されているので、
一通り目を通してチェックします。
展開してできたAssetsフォルダー内に、3.で自動作成されたタイルアイコンが格納されているので、それを4.で作成したアイコンファイルに置き換えていきます。
MSIX Heroでは自己署名の証明書も作成できますので、それを追加してMSIXパッケージを再作成し、アイコン表示におかしいところがないかパッケージからインストールしてみてチェックします。
6. 要項を記入して申請する
5.で修正したMSIXパッケージをアップロードして各種要項を記入していきます。
あまり深く考えずに(身内に配るだけだし)項目を適当に埋めていきます。
一つ面倒だったのが、プロパティ->プライバシーポリシーのURL指定でした。
こちらにならって、適当な文面のテキストファイルを作成してgithubに置いて、そのURLを指定することにしました。
その他、書き方がわからないところは、特に書かないでもいいでしょう。
申請審査で問題があれば、ストアから「ここ直せ」って連絡がきます。
今回私が登録した実行ファイルも、他の実行プロセスへのフックをしてたり
OpenCV3を使ってましたが、特にストアへの報告はせずに申請して登録となりました。