正式リリースも出たので、ぼちぼちと環境作るのもネタにしておきたいところ。記事として仕立てるには旬が短すぎるのがねーw
ということで、ざっくばらんに環境構築編。
まずは、開発環境の用意。雑記で上げたほかのツールはわかりませんが、Desktop App Converter 自身は、ちょっと野心的なつくりをしていて、Windows コンテナを利用しています。
そのため、動作条件が
- Windows 10 Anniversary Update 以上(Build14393以上) の Pro. または Ent. 版 の x64版
- Hardware-assisted virtualization and SLAT(Second Level Address Translation)対応の 64bit CPU
- Windows 10 SDK 1607 以上
と、若干ハードルが高い設定になっています。
1 が必要なのは、Windows 10 Anniversary Update(以後Win10-1607)で追加された Windows コンテナを利用するため。
そして、2が必要なのは、そのコンテナを動かすため。という形になります。
3は、コンバータ自身の機能ではなく、そこから呼ばれる appx にするツール(SDKに同梱)と、署名のためのツール類(こちらもSDKに同梱)のためというのが主な理由です。
もっとも、対象とするアプリ本体もWin10-1607以上での動作が前提なので、アプリの開発環境としても、SDKは必須ですがw
さて、実際に時効可能な環境を用意したら最初にやることは「Download Center を検索」して最新バージョンを探すこと。
コンバーター自身はストア版があるのでこちらを利用することもできますが、これとは別に BaseImages という、コンテナ上で使う専用のイメージを用意する必要があります。ちなみに、最新版にzip形式のコマンドラインツール(PowerShellコマンドファイル)もあります。
このブログ記事の公開時点での最新版(9/21版)には、14393(AnniversaryUpdate/IP Slow)、14915、14926、14931 の3つのIP向けと、1.0.0.0の zip版があります。
ここから、ベースイメージの該当版等々をDLしてきます。zip を展開する場合は、自分にとって都合のいい場所に展開しましょう(パスを切るなどは不要です)。
ここからは管理者アカウントが必要になります(パスワードを入れずに昇格すれば管理者になるアカウント)。
ストア版は管理者として実行、zip版はPSコンソールを管理者でオープンします(ISEでもOK)。
コンソールの場合は、展開先フォルダに移動して
DesktopAppConverter ?Setup ?BaseImage …\BaseImage-14xxx.wim ?Verbose
と入力して、コンテナのセットアップと wim のインストールを行います。
OSの確認、環境のチェックなどなどの後、Hyper-Vとコンテナのインストールを行います。インストール済みの場合はここはスキップ。
この時、環境によっては再起動が必要になります。以前は自動で再起動して継続してくれたんですが、正式版では自動リブートしないで、-NoRestart を付けた時と同じ状況になるので、手動で再起動していきます。
再起動してログインすると自動的にスクリプトが継続実行されるので、必要に応じて再起動しつつ終了を待ちます。
Hyper-Vも含めるとコンテナのセットアップにざっくり10分くらいはかかるので(もちろん環境によるのでもっと速いマシン(5分もかからない)もありますしその逆もあります)、気長に待ちます。
筋トレ でもいいのですが https://developer.microsoft.com/ja-jp/windows/bridges/desktop あたりを眺めているとよいでしょう。
と、ここまで来てようやく準備完了。おっと。。。SDKをインストールしていない場合はSDKもインストールします。
Visual Studio 2015 以上を持っている場合は、Update3を適用して SDK Tools 1.4.1 を導入しましょう。
これでやっと準備が完了です。ちなみに、あれこれないと本気で一日くらいかかってしまいます。
Build 2015 で発表された、Bridge for Windows シリーズの最後の橋(Codename Project Centennial、正式名 Desktop Bridge )のコア機能 Desktop App Converter(リンク先は、ストアアプリ) が9/14 に正式リリースされました。
このツールは、デスクトップアプリケーション(のインストーラ)をストアアプリ(のインストーラパッケージ)にコンバートするといういたって簡素なツールです。
まぁ各所のニュースリリースの大半が太字部分を端折っていたりするんですが。。。
インストーラはアプリケーションプログラムそのものはインストール前と後では何も変えません。コンバータの対象はインストーラなので、当たり前ですが、アプリケーションプログラムには何も変更しません。
むしろ、コンバート機能そのものより、コンバートするインストーラが抱えてるアプリはここに気をつけなさいねーという17項目(9/22アップデートで増えてた><)のほうが重要だったりします。
それについては、まずは https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-root を見てもらう方がいいでしょう。
さて、ここからはあまり日本語では出ていない話。
Desktop Bridge がプロダクトとして目指すゴールは、既存のデスクトップアプリや、デスクトップだからこそ実現できるアプリをWindowsストア(あるいはそれと軸を同じにする配布の仕組み)というマーケットプレイス上で配布してもらうのが狙いです。なので、こと開発者向けという意味ではかなり手厚いサポート体制を敷いていると思いますし、おそらく開発ツールベンダー向けには見えていないだけで、様々なプッシュがあると思います。
Desktop Bridge としては Desktop App Converter は言ってみれば、プロトタイプ的な撒き餌です、当然プロトタイプみたいなものなので、これだけが手段ではありません。ということで、雑感の最後は観測範囲内で見えているツール類のサポート表明などなど。
まずは、インストーラ作成ツールから。おそらく世界でもっとも有名なインストーラ作成ツールの InstallShield。こちらは2016(現行最新バージョン)から、機能が搭載されています。実は Desktop App Converter よりも先に正式リリースされていたりしますw
具体的なことはツールを持っていないのでわかりませんが、アナウンスを見る限りでは、msiの作成時に合わせてappxも作ってくれる機能が搭載されるようです。Desktop App Converter とは違って、仮想的にインストールするのではなくmsiにするための情報をスキャンするんだと思いますが、正直よくわかりません。
そのほか WiX とAdvanced Installer(国内では販売されていません)が対応を表明しています。WiX は現行の環境にシームレスに組み込むという話(新しいスキーマなどが必要になるのではない的なことが書かれていました)なので、オプションスイッチ的なものが用意されるんだと思います。
AdvancedI nstaller も InstallShield 同様オプションスイッチ的に対応みたいですが、こちらはツールの画面すら見たことがないのでなんとも。。。w
そして開発ツールとしては、次期 Visual Studio(Codename “15”)。現時点では機能拡張という形でプレビューリリースされています。最終的に製品組み込みになるのか機能拡張のままなのかはわかりません。こちらはインストーラを作る感じに近い格好で、専用のプロジェクトで appx で出力するという感じのようです。画面写真を見ただけなのでよくわかってませんけどw
それと、RAD Studio。今後の Update で対応が予定されているそうです。開発ツールとしてはこっちのほうが先に出てくるんじゃないかと思うけどよくわかりません。
今のところ観測筋で対応、または対応を表明しているのはこのあたり。
個人的には、国産のパッケージベンダー各社の動向も気になりますが、日本語アプリがこれで増えるかどうかですねー。デスクトップアプリ向けゲームも含め。