Electronで作ったアプリをMicrosoft Storeに出すのに詰まった話
カテゴリ:Mastodon, TheDesk 投稿日:2019年3月18日表題の通りのことをしたかった。
最低でも日本語の情報で探すと、electron-windows-store使ったよくわからん方法が乗ってる。electron-packagerでパッケージ作って変換?面倒だ。
少し調べるとelectron-builderでtargetにappxを入れたら提出できるやつが作れると知る。簡単だ。

怒られた。どうやらpackage.jsonの”appx”にexpectedって言われてるやつを書いておかないといけないみたい。electron-builderのappxのページを見て埋めていく。 applicationId
は数字から始めてはいけないけれど、さきほどのidentity nameのexpected値は数字スタートである。 identityNameにこれを入れて、applicationIdを空欄にしようとも、デフォルトでこの2つは一緒になるためダメなのだ。
同じことで困っている人がいるだろうとGitHubのIssuesをたどるなりしていると、どんぴしゃなIssueがあった。これである。
それによると、
"appx": { "identityName": "12345MYCOMPANY.MYAPP", "publisher": "CN=XXXXXX", "publisherDisplayName": "MYCOMPANY", "applicationId": "MYCOMPANY.MYAPP" },
と書けばいいらしい。今やろうとしている「TheDesk」の場合、
"appx": { "identityName":"(数字)Cutls.TheDesk", "applicationId":"Cutls.TheDesk", "publisherDisplayName":"Cutls", "publisher":"CN=(エラー内にあったやつ)", "languages":["JA-JP","EN-US"] },
と書けばよい。エラー一番下のCN=のやつは、CN=付きでそのままコピペ。identityNameにエラー一番上のやつをコピペして、そこから数字を抜いたやつをapplicationIdに指定。
あと、languagesを配列で指定しないとストアでの登録情報に日本語が無くなっていろいろ面倒なのでそれも。
なんとか解決できてよかったです。
アイコンを electron-builderのappxのページ の下の「AppX Assets」の通りにしないとアイコンがデフォルトになってしまいました。要注意です。