Win32アプリをWindowsストアで公開するには? Microsoft Desktop Bridgeセミナー開催
Windows 10では、アプリケーションをスマートフォンのアプリのように「Windowsストア」で世界中に公開し、インストールさせることができる。そのためにはアプリのインストーラーをUWP(Universal Windows Platform)形式のアプリパッケージにする必要がある。
Microsoftでは、従来のWin32デスクトップアプリのインストーラーをUWP形式のアプリパッケージ(Appxパッケージ)に変換するための「Desktop Bridge」を用意している。このDesktop Bridgeについて、セミナーと実習で学ぶセミナー「Microsoft Desktop Bridgeセミナー」を、日本マイクロソフトが2月18日に開催した。
荒井省三氏と高橋忍氏の2人のテクニカルエバンジェリストが講師となり、荒井氏が最後に語ったところによると「ここまで詳しく説明したのは初めて。最近追加された内容はドキュメントにも反映されていない」という、濃いセミナーとなった。
Win32アプリのインストーラーをDACで変換
午前にはセミナーとして荒井氏が、Win32デスクトップアプリを変換してWindowsストアで公開できるようにする方法について、変換ツール「Desktop App Converter(DAC)」を中心に解説した。
荒井氏はまずWin32アプリからUWPアプリに移行する選択肢として、Windowsストアで公開するところまでの「従来のまま」と、通知やタイルなどのWindows 10の機能を使えるようにする「拡張」、UWPとして最適化する「モダナイズ」の3レベルを紹介した。今回のセミナーの内容は「従来のまま」に相当する。
また、アプリの変換方法については、DACのほか、ファイルコピー程度のインストールであれば手作業による変換も難しくないと荒井氏は説明した。また、InstallShield 2016ではDesktop Bridgeに対応しており、DACで変換できないものをInstallShieldで対応したケースもあるという。
DACを動かすには、Windows 10 Anniversary Update以降と、仮想化支援機能SLATに対応したCPU、最新のWindows SDKが必要となる。そこにDACをインストールし、DACのベースイメージをダウンロードする。
DACの動作メカニズムについても荒井氏は解説した。DACでは、元のインストーラーをWindowsコンテナーによる仮想的な環境で実行し、追加や変更されたファイルをトラッキングし、結果を取り出してAppxパッケージにまとめる。SLATが必要なのも、Windowsコンテナーを使うからだという。また、裏側でインストーラーを動かすという仕組み上、インストーラーがダイアログを表示してユーザーに聞いてくるようではそこで止まってしまうため、インストーラーのオプションなどで指定してサイレントインストールできるようになっている必要がある。
Appxパッケージには最終的に電子署名をする。変換時に署名するよう指定することもできるが、何度も実行テストをすることを考えると、完成してから署名するほうをおすすめすると荒井氏は語った。
そのほか、リソースの用意や、ドライバーはインストールできないこと、DACを使わずに手作業で変換する場合の手順、マニフェストファイルのAppManifestなどが説明された。
荒井氏はさらに、純粋UWPアプリと変換したアプリの実行モデルの違いも解説した。純粋UWPアプリはCreateProcessされずDCOM RPCで起動されるのに対し、変換したアプリはCreateProcessされて動くという。
作業の最後として、ストアに提出する方法が解説された。変換したアプリの場合は事前申請が必要となるという。変換するアプリなので申請の中に公式ページのURLを指定し、それをもとに日本の担当者が割り当てられるという。そのほか、申請するときの注意事項も説明された。
最後に荒井氏は、Windowsストアで公開するメリットとして、Windowsストアに公開するとグローバルで公開されることを上げ、日本人が作ったストレージベンチマークソフト「CrystalDiskMark」がWindowsストアに公開したところ世界中からコメントが来た事例を紹介した。
DACを使って変換を各自試す
午後は実習だ。自分のアプリを変換したい人はそれを、特に用意していない人は動画再生ソフトの「VLC」を、各自で用意された手順書を参考に変換した。なお、VLCを題材にしたのは、インストーラーが素直だからだという。
参加者でうまくいかないところは、荒井氏と高橋氏がサポートした。この日も、Windowsコンテナーのセットアップでハマったケースや、変換するインストーラーがGUIで質問を表示して止まるケースなどがあったようだ。
また、拡張子の関連付けをDACがうまく検出できない場合に自分でAppManifestに書く方法や、アイコンは1つだけしか追加できないので複数の実行ファイルを登録するにはそのためのコードを追加する必要があることなども解説された。
ストアへの登録は、高橋氏がデモしながら解説した。価格や、配布先の選択、一時的なキャンペーン、ストアでの非表示設定、プロパティ、年齢区分、デバイスの種類などの設定を、グローバルで公開するときの注意もまじえて説明した。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Microsoft、CUIのアプリケーションパッケージ管理ツール「Windows Package Manager 1.0」リリース
- マルチメディアプレイヤーUWP/iOS版「VLC 3.1.0」リリース
- ユニバーサルアプリ開発の環境構築とはじめの一歩
- 開発したユニバーサルアプリを実際にストアに申請、登録するまで
- vNext Hyper-Vの注意すべき変更点 仮想マシンの運用
- andLinuxのインストール方法!
- Microsoft、CUIのパッケージ管理ツール「Windows Package Manager 1.1」リリース
- FlipViewコントロールを使って、フリップビューで画像を切り替える
- これでリジェクトされない!Windowsストアアプリ申請のポイント
- XenDesktopでデスクトップ仮想化を体験しよう!