Tauriで作ったアプリをMicrosoft Storeへリリースする [コード署名無料]
こんにちはmofmofでエンジニアをしているshwldです。
をリリースしたのですが、Windows版はMicrosoft Storeに提出しました。
最初は、Macと同じくサイト上からダウンロードさせようと思ったのですが、ある壁が立ちはだかったのです。
コード署名証明書
アプリケーションにデジタル署名することで、アプリをダウンロードしたユーザーは信頼された発行元であることが確認できます。
安心してアプリを利用することができますね。
これがないと、こういうのが出ます。こんなのでたらインストールするのは抵抗がありますね...
これに対処するには、有料のコードサイニング証明書というものを買う必要がありますが、安めのものでも年間2万くらい払わないといけません。
Microsoft Storeからリリースすればこのコストがなくなる
Windowsストアに出す場合は、自己署名証明書で署名して提出することができます。
この記事ではTauriで作ったアプリをストアに提出する手順を記載します。
Microsoft Storeからリリースするための設定手順
ここから実際にストアに登録する手順について記載していきます。
1. アプリ情報を登録する
事前にパートナーセンターに登録しておいてください。
登録したら、事前にMSIXアプリを作っておきます。
Apps and Gamesのページで、MSIX or PWA app を選択してproductを作成します。
作成したプロダクトの以下の情報をあとで使うので、どこかに記録しておいてください。
- Package/Identity/Name
- Package/Identity/Publisher
- Package/Identity/PublisherDisplayName
2. 自己署名証明書を作る
必要な情報は以下です
- partnerページで確認できるPackage/Identity/Publisher
- 証明書のパスワード
$certname = "Package/Identity/PublisherのCN=以降を入れる"
# 新しい自己署名証明書をコード署名用に作成する
$cert = New-SelfSignedCertificate -Type CodeSigningCert -Subject "CN=$certname" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256
# .cerファイルとしてエクスポート
Export-Certificate -Cert $cert -FilePath "~\Downloads\revelup.cer"
# パスワードを扱う
$env:WINDOWS_PFX_PASSWORD = 'xxxxxx'
$mypwd = ConvertTo-SecureString -String $env:WINDOWS_PFX_PASSWORD -Force -AsPlainText
# .pfxファイルとしてエクスポート
Export-PfxCertificate -Cert $cert -FilePath "~\Downloads\revelup.pfx" -Password $mypwd
上記を実行すると .pfxファイルを得られます。
3. Tauriパッケージをビルドする
tauri build
を実行してパッケージをビルドします
Compiling revelup v0.0.0 (C:\Users\shwld\source\repos\revelup-note\apps\desktop\src-tauri)
Finished release [optimized] target(s) in 17.15s
Info Target: x64
Running candle for "main.wxs"
Running light to produce C:\Users\shwld\source\repos\revelup-note\apps\desktop\src-tauri\target\release\bundle/msi/REVELUP_dev_0.0.10_x64_en-US.msi
Bundling C:\Users\shwld\source\repos\revelup-note\apps\desktop\src-tauri\target\release\bundle\msi\REVELUP_dev_0.0.10_x64_en-US.msi.zip
Finished 2 bundles at:
C:\Users\shwld\source\repos\revelup-note\apps\desktop\src-tauri\target\release\bundle/msi/REVELUP_dev_0.0.10_x64_en-US.msi
C:\Users\shwld\source\repos\revelup-note\apps\desktop\src-tauri\target\release\bundle\msi\REVELUP_dev_0.0.10_x64_en-US.msi.zip (updater)
Info 1 updater archive at:
Info \\?\C:\Users\shwld\source\repos\revelup-note\apps\desktop\src-tauri\target\release\bundle\msi\REVELUP_dev_0.0.10_x64_en-US.msi.zip.sig
Done in 49.83s.
Done in 50.11s.
上記でいくつかファイルができましたが
C:\Users\shwld\source\repos\revelup-note\apps\desktop\src-tauri\target\release\bundle/msi/REVELUP_dev_0.0.10_x64_en-US.msi
を使います。
4. msiファイルをmsixにコンバートする
MSIX Packaging Toolを使います。
アプリケーションパッケージを選択
「このコンピューターにパッケージを作成する」を選択
Windows Search がアクティブをチェックして「選択項目を無効化」をクリック。その後「次へ」
-
- で作成したmsiファイルを参照して指定します
- 署名の基本設定でpfxを選択し、2. の.pfxを参照します
-
- で入力した証明書のパスワードを入力
- タイムスタンプサーバーに
http://timestamp.comodoca.com
を指定
次へ
-
パッケージ名
に 1.のPackage/Identity/Name
を入力します -
発行元の表示名
に1.のPackage/Identity/PublisherDisplayName
を入力します
あとは画面に従い次へ進めていきます
出来上がったmsixファイルを Microsoft Partner Center へアップロードしてください。
問題があれば割とわかりやすいエラーメッセージで教えてくれるので、適宜調整してください。
できた手順をなぞって記事を作成しておりますが、間違いなど有りましたら報告いただけると嬉しいです。
この記事は、株式会社mofmofの「水曜日の個人開発」の活動で書きました。
Discussion