しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

WPF アプリケーションを Desktop Bridge を使って Windows Store に公開してみた

開発した WPF アプリケーションに対して、簡単にアプリケーションの配布を行いたかったので Windows Store に公開してみました。初めての Desktop Bridge です。

今回 Windows Store に公開したアプリケーションは WinQuickLook です。

実際に行ったきっかけは、Desktop Bridge は Desktop App Converter を使う必要はないということを知ったからです。先に MSI を作成とか頭悪いと思ってたので、これまではやってきませんでした。

公開するまでの流れを簡単にまとめておきます。

パッケージングを行う

サンドボックス内で動作するかは、まずパッケージングを行って実際にインストールするのが確実だと思ったので、先にパッケージングから行っておきました。

と言っても、基本的な手順はつもりんのブログの通りです。Desktop App Converter が必要みたいな風潮は一体誰が作ったのか。

既存のソリューションに JavaScript UWP プロジェクトを追加してパッケージングを行いました。

F5 押してのデバッグは出来ないですが、こればっかりは仕方ないです。

アプリケーションの修正

パッケージングが終わったら、実際にインストールして動作を一通り確認しました。

WinQuickLook は COM を使いまくりの上、キーボードフックなどもガンガン使っていましたが、そのあたりは修正することなく動作して安心しました。

問題になったのはレジストリを弄っていた部分と、StartMenu の Startup にショートカットを作成して起動時に自動実行させていた部分です。実現不可能な部分なので、Desktop Bridge の機能を使いました。

Desktop to UWP Bridge のアプリの拡張機能 - UWP app developer | Microsoft Docs

StartupTask を使うと、アプリケーションの自動実行が行えるようになります。

実際にマニフェストに定義を追加して、アプリケーションをインストールするとタスクマネージャーから表示されるようになります。

f:id:shiba-yan:20170619141952p:plain

有効化はアプリケーションから行えるようになっていたので、StartupTask をコードから弄るようにしています。レジストリに関しては必須ではなかったので、処理自体を削除しました。

事前の審査にパッケージを提出

アプリケーションの動作に問題がなく、ストアに提出する準備が出来たタイミングで以下のフォームから申請を行います。Desktop Bridge に必要な権限を得るために、別に審査を通す必要があります。

Desktop Bridge Sign Up Form - Windows app development

フォームから申請を行うと、アプリ ID やアプリケーションの appx を送信してくれというメールが届くので、メール本文に書いてある通りに進めていきました。

使い方を書いておく必要があるのですが、丁度少し前に Softpedia にレビューが追加されたので、その URL をそのまま送っておきました。これで問題なく事前の審査は通りました。

これで Developer Center から appx をアップロードすることが出来るようになります。

通常の流れで申請

実際にアプリケーションをアップロードすると runFullTrust が付いていることが分かります。

f:id:shiba-yan:20170619141745p:plain

後は通常の UWP アプリケーションを提出する時と同じ手順で進めることが出来ます。

少し時間はかかった気がしますが、4 営業日ぐらいで Windows Store にアプリケーションが公開されました。

f:id:shiba-yan:20170619141341p:plain

事前の審査に 3 週間ぐらいかかった以外はスムーズに作業を進めることが出来ました。Desktop Bridge を使ったアプリケーションでも有料アプリとして配布なども出来るみたいなので、いつか作ってみたいですね。

暇なときにでも窓の杜に自薦してみようかと思いました。