Virtual PCでWindows Embedded Compact 7を動かしてみる
MSDNサブスクライバからWindows Embedded Compact 7が落とせるようになっていたことには気がついていたので(・∀・)
自分も、Platform BuilderでビルドしたWindows Embedded Compact 7のイメージをVirtual PCを使って動かしてみたのでした。
自分もやってみたいという人は、下記のURLを参考にどぞ(・ω・)つ
- WEC 7でSilverlight for Windows Embeddedを使おう! - その1
- WEC 7でSilverlight for Windows Embeddedを使おう! - その2
- Windows Embedded Compac 7リリース版のインストール
- Virtual PCで動かすPlatform Builder(ダウンロード編)
概要
詳細はリンク先を見ればわかるので、やることの概要だけ書いておくとこんな感じです。
- Visual Studio 2008 + SP1を用意
- MSDNサブスクライバからWEC7をダウンロードしてインスコ
- Virtual PC用のOSイメージ(nk.bin)をビルド
- WEC7中に用意されているVirtual PCのイメージを起動
- 仮想マシンはDHCPでIPアドレス取得、TFTPでイメージを取得
- OSイメージ起動
っという流れ。
後は、自分がはまったポイントについても書いておきます。
DHCPサーバを忘れない
仮想マシンはDHCPでIPアドレスを取得して動作するので、DHCPサーバを忘れないように。
自分の場合、DHCPサーバはいたんだけど、リソースが全て払い出し済みだったというオチなんだけど…(´д`;)
TFTPでのイメージダウンロードに失敗する
仮想マシンがDHCPでIPアドレスを取得し、TFTPでイメージを取得しにいった後に次のようなメッセージが表示されてしまい(・ω・;)
ERROR: BootTransportPb: TFTP timeout occured!
ちょっと調べたら、UDPのチェックサムを無効にしたら良いんじゃよ、っという記述があったのでやってみたら解消しました。
↓みたいな、ネットワークドライバの設定の話ね。
雑
さて、個人的にはWP7よりも、WEC7ベースの業務用ハンディが気になっていたりもするわけですが(・∀・;)
ただまあ、昨今のAndroid端末なんかも見ていると、アプリケーションプラットフォーム的な意味でのWECは微妙かな〜と思わなくもなかったり(・ω・;)
カーネル的な意味でのWECは好きだし、本業の組込屋さんにとってはそれが標準でしょうけど、アプリケーションプラットフォームとして考えた場合、やっぱりちょっと「素」すぎるんですよね。
各種サービスを抽象化してモダンなオブジェクトモデルを用意したり、用途毎のプロファイルフレームワークみたいなものが強化されないと、上位層よりのアプリを作る人としては物足りないかな(・ω・)?、とか。
量販店のバックヤードとか物流の現場で使っているようなハンディーターミナルについては、現状Windows CE端末意外にHW的にも適合するものが無いし、しばらくは置き換わらないでしょうが。
でも、検針端末とかセールス端末みたいなものについては、Android端末もありかな〜という気にはなっていて。
UI的な表現力や作りやすさは十分にあるし、データアクセスや通信についても事足りているし。
一方で、デバイス関連、ラインプリンタ制御とかバーコードリーダーのHW的特性(単にカメラで読めれば良いと言うことでは無くて、接写できるタイプかどうかとか)みたいな所は不十分なので、バックヤードにはまだ無いと思っていますけど。
あと、アプリケーションアーキテクチャ的な部分について言えば、画面遷移、DI、バインディング、ヴァリデーションとかもイメージはできつつあるので(`・ω・´)
そういったインフラストラクチャ層を用意して、APTを使った自動生成なんかの仕組みも用意すれば、かなり良い感じでAndroidでも業務アプリが作れるよね〜、つって(・∀・)
*1:といっても、半分以上NDKを弄っていたんだけど(・ω・)