Win32アプリをWindowsストアで公開するには? Microsoft Desktop Bridgeセミナー開催

高橋 正和

2017年3月10日 0:00

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で対応したケースもあるという。

Win32アプリからUWPアプリに移行する3レベル
Win32アプリからUWPアプリに移行する3レベル
DACのほか、手作業やInstallShieldによる方法も
DACのほか、手作業やInstallShieldによる方法も

DACを動かすには、Windows 10 Anniversary Update以降と、仮想化支援機能SLATに対応したCPU、最新のWindows SDKが必要となる。そこにDACをインストールし、DACのベースイメージをダウンロードする。

DACの動作メカニズムについても荒井氏は解説した。DACでは、元のインストーラーをWindowsコンテナーによる仮想的な環境で実行し、追加や変更されたファイルをトラッキングし、結果を取り出してAppxパッケージにまとめる。SLATが必要なのも、Windowsコンテナーを使うからだという。また、裏側でインストーラーを動かすという仕組み上、インストーラーがダイアログを表示してユーザーに聞いてくるようではそこで止まってしまうため、インストーラーのオプションなどで指定してサイレントインストールできるようになっている必要がある。

DACのパラメータ
DACのパラメータ
DACの動作メカニズム
DACの動作メカニズム

Appxパッケージには最終的に電子署名をする。変換時に署名するよう指定することもできるが、何度も実行テストをすることを考えると、完成してから署名するほうをおすすめすると荒井氏は語った。

そのほか、リソースの用意や、ドライバーはインストールできないこと、DACを使わずに手作業で変換する場合の手順、マニフェストファイルのAppManifestなどが説明された。

Appxパッケージへの殿試署名
Appxパッケージへの電子署名
AppManifestファイル
AppManifestファイル

荒井氏はさらに、純粋UWPアプリと変換したアプリの実行モデルの違いも解説した。純粋UWPアプリはCreateProcessされずDCOM RPCで起動されるのに対し、変換したアプリはCreateProcessされて動くという。

純粋UWPアプリと変換したアプリの実行モデルの違い
純粋UWPアプリと変換したアプリの実行モデルの違い

作業の最後として、ストアに提出する方法が解説された。変換したアプリの場合は事前申請が必要となるという。変換するアプリなので申請の中に公式ページのURLを指定し、それをもとに日本の担当者が割り当てられるという。そのほか、申請するときの注意事項も説明された。

最後に荒井氏は、Windowsストアで公開するメリットとして、Windowsストアに公開するとグローバルで公開されることを上げ、日本人が作ったストレージベンチマークソフト「CrystalDiskMark」がWindowsストアに公開したところ世界中からコメントが来た事例を紹介した。

ストアへの提出の流れ
ストアへの提出の流れ

DACを使って変換を各自試す

午後は実習だ。自分のアプリを変換したい人はそれを、特に用意していない人は動画再生ソフトの「VLC」を、各自で用意された手順書を参考に変換した。なお、VLCを題材にしたのは、インストーラーが素直だからだという。

参加者でうまくいかないところは、荒井氏と高橋氏がサポートした。この日も、Windowsコンテナーのセットアップでハマったケースや、変換するインストーラーがGUIで質問を表示して止まるケースなどがあったようだ。

また、拡張子の関連付けをDACがうまく検出できない場合に自分でAppManifestに書く方法や、アイコンは1つだけしか追加できないので複数の実行ファイルを登録するにはそのためのコードを追加する必要があることなども解説された。

VLCをDACで変換
VLCをDACで変換
実習の手順書
実習の手順書
実習の様子
実習の様子
うまくいかないところを荒井氏と高橋氏がサポート
うまくいかないところを荒井氏と高橋氏がサポート

ストアへの登録は、高橋氏がデモしながら解説した。価格や、配布先の選択、一時的なキャンペーン、ストアでの非表示設定、プロパティ、年齢区分、デバイスの種類などの設定を、グローバルで公開するときの注意もまじえて説明した。

ストアに登録する
ストアに登録する
この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30