Visual Studio 2005 をせっかく買ったのに、Windows Mobile アプリの開発に使うことがなくて・・・。
Windows Mobile アプリを開発するために買ったのに、なぜか Windows アプリの開発ばかりに使われたりして。
それも、Express Edition で十分のような作業に。
というわけで、やっと Windows Mobile 開発の世界に入り込むために、いろいろ準備を。
正確に言うと、Windows Mobile アプリの開発をしなければいけない用事ができたといったほうがいいかな。
Visual Studio 2005 をインストールした時点では、Pocket PC 2003 と CE 5.0 のアプリの開発はできるようになっていますが、Windows Mobile 5 とか 6 の SDK はインストールされていません。
まあ、VS2005 発売当時は Windows Mobile 5 とか存在しなかったか?
自分で忘れないようにメモっておく要素も兼ねて、Windows Mobile 開発の下準備を書いておきます。
1. 必要なもの
- Windows XP, Vista
- Visual Studio 2005 Standard 以上
たぶんこれぐらい。
今回は Vista に Academic Edition をインストールした環境を使用。
2. Windows Mobile デバイス センター のインストール
今回は、Vista で環境を整えることにしたので、こいつを入れます。
XP なら ActiveSync ですね。
3. .NET Compact Framework のインストール
次に、.NET "Compact" Framework を導入します。
PC 用の、.NET Framework とは別物です。
詳細は知りませんが、モバイル用に機能を削減したものなのではないかと。
4. Windows Mobile SDK のインストール
メインとなる、SDK を導入します。
Windows Mobile 5.0 用と Windows Mobile 6 用があります。
なぜか、日本の Microsoft ダウンロードセンターにはありません。
それと、Smartphone 用と PocketPC 用とあったりで、結構ややこしいです。
入れておいて損はしないので、どちらも入れておくことにします。
- Download details: Windows Mobile 5.0 SDK for Pocket PC
- Download details: Windows Mobile 6 SDK Refresh
5. Localized Emulator Image のインストール
先ほどインストールしたものは英語版の SDK なので、中に入っているデバイスエミュレータ (Windows Mobile デバイスをエミュレートするソフト。仮想マシンみたいな) も英語です。
なので、エミュレータの日本語版イメージをインストールします。
まあ、英語のままでも特に問題ないのですが、日本語環境周りの何かがありそうなので。
ちなみに、これも Smartphone と PocketPC とか、Standard と Professional とかあってややこしいです。
さらに、なぜか Windows Mobile 5.0 の方だけ WGA の確認が必要。
- Download details: Windows Mobile 5.0 Pocket PC Emulator Images
-> Windows Mobile 5.0 Emulator Images for Pocket PC - JPN.msi - Download details: Windows Mobile 6 Localized Emulator Images
-> 0411\Windows Mobile 6 Professional Images (JPN).msi
6. Visual Studio 起動。
プロジェクトの作成を開いて、[スマートデバイス] の中に Windows Mobile 5 とか 6 とかがあれば OK。
少し遊んでみることにする。
あ、開発言語はもちろん C#。
普通の Windows アプリと何ら変わりない感じで組める。
特殊な手順とかもないし、ほとんどの機能は使える模様。
実行してみる。
起動するイメージを聞かれるので
- JPN Windows Mobile 6 ....
っていうのをどれか選ぶ。
バージョンの違いとかは、お察しください。
VGA で起動すると、SXGA 以上のモニタじゃないとはみ出しますが、アドエスはこれ以上だったりする。
まあ、今回は Classic で。
デバイスエミュレータが勝手に立ち上がって、プログラムが配置された。
ん~、いいね。
だけど、エミュレータだけあって、結構重いよ。
ちなみに、Windows Mobile 5.0 もほぼ同様の手順でいける。
7. デバイスエミュレータの日本語化
SDK を入れると何もかもインストールしてくれますが、すべて英語です。
デバイスエミュレータも例外ではなく。
だけど、いろいろ設定とかできるのに、英語じゃわからないって?
ええ、僕は英語のソフトは、日本語化パッチを当てないまま使っちゃうタイプですが、一応載せておきましょう。
こいつを入れれば日本語化されます。
感動・・・?
まあ、オプションとカが日本語になって、いろんな設定が少しはやりやすくなったかな?
って大した差でもないけどさ。
8. 互換性について...
Windows Mobile 5 SDK で作ったアプリは、もちろん Windows Mobile 6 でも動きます。
Windows Mobile 6 SDK で作ったアプリも、Windows Mobile 5 で動くようです。
何が変わってるのかは、よくわからない・・・。
ちなみに、こちらも当然のことですが
Pocket PC 2003 用プロジェクトで作成したアプリは、Windows Mobile 5, 6 で動きます。
CE 5.0 用プロジェクトで作成したアプリも、Windows Mobile 5, 6 で動きます。(どちらも CE 5.0 ベース
ここから先が、なんとなく新発見。
Pocket 2003 用のアプリを Windows Mobile 5, 6 で動かすときに問題になることと言えば、メニューですよね?
でも、あれ実はメニューアイテムが 2 個以下であれば、Windows Mobile 5, 6 で実行してあげると普通のメニューになります。
というか、Windows Mobile 5, 6 用のアプリでも、メニューアイテムを 3 個以上にすることは可能。
3個以上にすると、自動的に Pocket PC 2003 みたいな感じになる。
要するに、あれって Pocket PC 2003 用のアプリだから、古いメニューになるわけじゃないんだよね・・・。
結構、誤解されてるような気がする。(自分だけか?
ということは、わざわざ Windows Mobile 5, 6 用の SDK をインストールすることもないということかも。
9. One more thing...
ちょっとした驚きの結果を。
Windows Mobile 用の .NET アプリの実行ファイル (.exe) をそのまま PC で実行したらどうなるか。
こうなります。Boom!
Un-believable!!
.NET Power!! It's huge!! な感じ。
なんかすごいよね Pretty cool, uh? だし。(意味不明
.NET Compact Framework 上で動くので、PC でも実行できるんでしょうね。
もしや、これって Windows Mobile と PC で同じ実行ファイルが動くってことは、ハイブリッドなアプリが作れるんじゃ?
でも、PC が側で動かすときにちゃんと動くか、それとウィンドウサイズが固定だからな・・・。
まあ、面白そうだ。.NET Compact Framework 必要だけど。
こんなところで、.NET Framework のマルチプラットフォーム的なものを見るとは思わなかった。
わざと書いておくけど、MS ネタなのに Jobs 様の口癖を連発するとはどういうことだ!って言うのはやめてくださいw
連発といっても、ジョブスほど Boom! してませんが・・・。(なぜこんなことに...

コメントする