先日購入した PDA 用にソフト開発環境をセットアップする。その前に一般的な予備知識をインプットしておかないとな。
組み込みデバイス向け Windows には2種類ある。1つは Microsoft Windows XP Embedded で、Windows XP Professional の全ての機能が1万個以上のコンポーネントに分割されており、必要なコンポーネントを組み合わせて独自仕様の Windows XP デバイスが作成できるというもの。もう1つは Microsoft Windows CE 5.0 で、これは Windows XP ベースではなく、機能が全てコンポーネントで構成されているというもの。コンポーネントの組み合わせでフットプリントの小さな OS を作成できるらしい。今回購入した PDA の OS である Windows Mobile 5.0 は後者の Windows CE 5.0 の系列ということになる。
現時点で Microsoft が提供する最新の開発環境は Visual Studio 2005 である。ただし Express エディションでは Windows CE アプリの開発はサポートされていないとのこと。また、Standard エディションではリモートデバッグがサポートされていないらしい。VS2005 以前では、Visual Studio .NET 2003 でマネージドコードアプリ開発、eMbedded Visual C++ でネイティブコードアプリ開発というように環境が分離されていたが、VS2005 で両者が統合されて同一の開発環境でマネージドコード/ネイティブコードアプリが開発できるようになったとのこと。
参考: VS2005の組み込み開発機能オーバービュー - @IT MONOist
http://monoist.atmarkit.co.jp/fembedded/special/01vs2005/vs2005a.html
現状僕の仕事では x86系の Windows アプリ(ネイティブコードアプリ)開発がメインであり、関係先と開発環境を合わすために Visual Studio .NET 2003 を常用している。幸い手元に以前のプロジェクトで必要になって調達した VS2005 があったのでインストール。VS2005 には Windows CE 系の開発環境も搭載済みなので、Pocket PC 2003 エミュレータを使って簡単なサンプルソフトを動かしてみる。
VS2005 の[ファイル]-[新規作成]-[プロジェクト...]メニューを選択。表示された [新しいプロジェクト]ダイアログボックスにおいて、[プロジェクトの種類]で [Visual C#]-[スマートデバイス]-[Pocket PC 2003]を選択し、[テンプレート]で[デバイス アプリケーション (1.0)]を選択。規定の[プロジェクト名]のまま[OK]ボタンをクリックすると、プログラムの雛形が作成される。テンプレートの (1.0) という記述は、それが .NET Compact Framework 1.x 上で動作するアプリであることを示す。(1.0) が付かないテンプレートは .NET Compact Framework 2.0 で動作するとのこと。

このままプログラムをビルドして実行しようとすると、実行環境を選択するために以下のダイアログボックスが表示される。手元には Pocket PC 2003 デバイスの実機が無いので、[Pocket PC 2003 SE エミュレータ]を選択。[配置]ボタンをクリックするとエミュレータの画面が表示され、作成したプログラムが実行される。

参考: VS2005によるWindows CEアプリケーション開発 - @IT MONOist
http://monoist.atmarkit.co.jp/fembedded/special/02vs2005/vs2005a.html
最初の一歩は無事完了。