このエントリは Windows Phone Advent Calendar 2014 に参加しています。

Windows Phone Advent Calendar 2014 - Adventar

今年の年末も、Windows Phoneを語って楽しく過ごそう! Windows Phoneに関する内容のblog記事を投稿していきましょう。 内容はWPに関係さえしていれば(tipsやアプリ開発に関すること、WP使ってみた感想とかでも!)、特に縛りはありません! どなたでもお気軽にご参加ください。 さぁ、最高に素敵なWPパーティーしましょう!

昨日はFIWWAさんの 年末大掃除がてら端末初期化した話と、期せずして Denim Update の話 (Windows Phone Advent Calendar 2014 参加企画) – Future Is What We Are !! でした。大掃除大事ですよねー。アプリのことを考えると初期化したくないですよねー……

さて本エントリでは、現時点での日本においては最も手軽に Windows Phone 8.1 Update を体験することのできる手段は Visual Studio 2013 から起動するHyper-V上で動作するエミュレーターでしょう!ということで、このエミュレーターはなにするものぞというところを見ていこうと思います。

Visual Studio でボタンをぽっちを押せば勝手に出てくるのであまり意識することのないアプリケーションのガワですが、XDEという名前をしています。 Process Explorer で Command line を見てみましょう。

"C:\Program Files (x86)\Microsoft XDE\8.1\XDE.exe" /name "Emulator 8.1 WVGA 4 inch 512MB(JA).<ユーザー名>" /displayName "Emulator 8.1 WVGA 4 inch 512MB(JA)" /vhd "C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.1\Emulation\Images\Flash.vhd" /video "480×800" /memsize 512 /diagonalSize 4 /language 411 /bootlanguage 411 /creatediffdisk "C:\Users\<ユーザー名>\AppData\Local\Microsoft\XDE\8.1\dd.480×800.512.vhd" /snapshot /fastShutdown

長ったらしいですが、C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.1\Emulation\Images\Flash.vhd を親にユーザーのローカル領域に差分vhdを作成、仮想マシンを作成してブート、ブートが完了したらスナップショットを取る、落とすときは停止で。ということをさせているようで、この動きは Hyper-Vマネージャー を横に出しながら動きを追うことで確認することができます。また上記のコマンドラインは2回目以降も変わることがありませんが、XDEが仮想マシンやスナップショットの有無を確認してない項目だけを実施としているようです。余談ながら、この作成されたVMのCPUコア割り当ては2個です。

XDEのコマンドラインを眺めてにやにやしたところで、湧き上がる疑問が「じゃあ Hyper-V マネージャー で1から仮想マシン作ったらそれは普通に動くの?」です。動けば普通・動かねば続くネタにできてよし。Flash.vhd の差分vhdを作成し、新しい仮想マシンの 既存の仮想ハード ディスクを使用する にシューッ。超エキサ(ry
Not For Resale
まあ普通に起動します。IDE 1にCDドライブがぶら下がったままだろうが割り当てCPUコアが1個だろうが割り当てRAMが10GB超えていようがお構いなしです。このあたりはあくまでエミュということでしょう。ちなみにXDEではなくvmconnectでエミューレーターにアクセスして起動するまでを眺めていると最後に "Not For Resale" の赤文字が。ちょっとどきっとします。

起動後の様子
vmconnectで接続するときは、XDEが提供している各種エミュレート用のボタンが使えません。特にハード下部のボタン3つにあたるものが無いので一度何かページ遷移させてしまうともうそれで終わりという感じがします、というかしていましたが、キーボードをひたすらごちゃごちゃ押すというアレなことをした結果F1からF3がそれということに気が付きました。ホームに戻るのにF2キー。なんだか不思議な気がします。しばらくwindowsキーを連打していたことは内緒です。

最後にvhdの中身を見てみましょう。エクスプローラーにてFlash.vhdをマウントします。 ディスクの管理 プライマリパーティションが3つに拡張パーティション1つという構成で、拡張パーティションはさらに4つの論理パーティションに分割され、見た目としては都合7つに分割されています。このうち2つは隠し属性がついていることから、ボリュームとして認識されるのは5つです。
ボリューム名を見ると分かるとおりに目的ごとにパーティションが分けられ、 "MainOS" から全パーティションにドライブレターを変えずにアクセスができるようになっています。
DiskPartでディスクの情報を見る

以上、「Windows Phone 8.1 エミュレーター とは何かを今更確認する」でした。
明日は SinyaSakakibara さん です。

Next Post Previous Post