Top > Programmingとか > VB / VB.NET > Windows Mobile

ちょろりと作ってみた

先日 WILLCOM の Advanced/W-ZERO3[es] (以下アドエス) を入手したわけですが。

なんでアドエスかってぇと、OS が Windows Mobile だったからなわけですね。

OS が Windows Mobile だと、Visyal Studio 2008 ( 以下 VS2008 ) でプログラムが組めるんですよ。
もうキャリア押し付けのヘボいソフトを従量課金で使わされるのはまっぴらなんですよ。

持つだけで毎月じわじわと小金を吸い取られる自動課金装置、それが日本のケータイ。

つことで、同じヘボソフトなら自己責任で。少なくとも自分の求める機能は、自分の腕の及ぶ限り実装できるわけですから。

ところが、日本のケータイでは納得のいくような開発環境がないわけなんですよ。
一応 Java がスタンダードっぽいんですが、非力な動作環境では遅すぎる。
ネイティブな動作環境としては唯一 au の BREW があったんですが、あれは泣いたなー。 商売として旨みがあると au に申請認可してもらわないとそもそも配信自体ができないという商売魂。

ですので、アドエスが Windows Mobile で VB で .NET でプログラム組めるってのはもう私にとっては夢のようかと。


でもってちょろりとサンプル作ってみようと思ったんですが、何をどうしていいのかわかりません。

どーいうわけか、このへんをさっくりとまとめた情報が見つからないんです。
あるいはどこかにあるのかもしれないけど、私には見つけることができませんでした。

ので、とりあえず「初めてのプログラム」を実行させるまでのところをメモしておきます。主に自分のために。

なお、ここにある情報は 2008.2.24 時点でのものです。

また、Windows XP Pro SP2 + VS2008 を前提としています。
たぶん Vista や VS2005 ではちょっと手順が変わります。

1. 前提条件

アドエスに搭載されている Windows Mobile は、Windows Mobile 6 Classic ( 以下 WM6C ) というバージョン / エディションです。
このへん歴代関係を推測しにくい個々勝手な名称がついていて、迷うかもしれませんので注意。

で、WM6C 用のプログラムを作れるのは、VS2005 Standard Edition 以上、または VS2008 Professional Edition 以上。

2. VS2008 への追加モジュールインストール

昨年末に提供開始になったばかりの VS2008 ですが、WM6 用のテンプレートとかエミュレータとかが含まれていません。
ので、追加でインストールしてやる必要があります。

まず、VS2008 で作成できるスマートデバイスプロジェクトは PocketPC 2003、Windows CE、Windows Mobile 5.0 SDK ( Pocket PC / Smartphone ) の 4 種類。
ので、アドエスの WM6C 開発に使えるテンプレートを追加するために、Windows Mobile 6 SDK をインストールしてやります。

Download details: Windows Mobile 6 SDK Refresh

「 Professional 」、「 Standard 」と 2 種類まとめて提供していますが、OverView を読むと、アドエスは WM6C なので、入手すべきは Professional の方ですね。

455MB ありますが、がんばってダウンロード → インストール。

この SDK の概要は、MEDC 2007 の A-2 セッション 「 新Windows Mobile アプリケーション開発 」 あたりで掴めます。
これはその他のセッション資料と併せMEDC 2007 セッション資料ダウンロードで提供されていますので目を通すとわかりやすいかも。

で、これだけではエミュレータなどが日本語対応になっていないので、日本語版エミュレータもインストールしてやります。

Download details: Windows Mobile 6 Localized Emulator Images

から 「 Windows Mobile 6 Professional Images (JPN).msi 」 をダウンロード → インストール。

これで準備 OK。

あとはふつーに VS2008 から[ 新しいプロジェクト ] で作成できます。
ターゲットプラットフォームは 「 Windows Mobile 6 Professional SDK 」 を選択。

3. Windows Mobile 6 SDK ヘルプの連結

開発環境としては 2. の手順で OKOK なんですけれども、この時にインストールされたはずのヘルプファイルが、VS2008 のヘルプ ( Microsoft Document Explorer - msdn Library を参照したりするアレです ) に組み込まれません。

msdn Library ではデフォルトで 「 スマートデバイス開発 」 (ローカルWeb) という資料が日本語で提供されているんですが、どうもこれ Windows Mobile 5 を前提とした記述のようです。

Windows Mobile 6 についての説明は、Web であればWindows Mobile 6以下にあります ( 英語 )。

さてこれと同じヘルプ ( 英語 ) が SDK の一部としてインストールされています。これを既存の VS2008 ヘルプと連結しておくと、ローカル環境で検索参照できるので便利です。

やり方は簡単。

VS2008 から F1 でヘルプを起動して ( Microsoft Document Explorer の単独起動ではだめです ) 、Visual Studio 2008 連結ヘルプ コレクション マネージャのページを開きます。

で、「 VSCC に含めることのできるコレクション 」 のリストから 「 Windows Mobile 6 SDK 」 のチェックボックスにチェックをつけ、[ VSCC の更新 ] ボタンをクリックし、処理が終わったら一度 VS2008 ごと終了します。

で、再度 VS2008 を起動して、F1 を押してヘルプを表示させます。

msdn Library ( 正確には連結ヘルプコレクション ) が再構成されます。

以上で完了。この一連の処理にはけっこう時間がかかりますので、あわてずにお待ちください。
ちなみに私の環境では、10分強かかりました。

ローカルでも Web でも構わんけど、英語なのは勘弁してほしいという方には。

マイクロソフトでは、機械翻訳で未翻訳の技術資料を各国語で提示できないかという試みを現在試験的に行っています。
Windows Mobile 6 もこの試験運用対象になっていますので、「機械翻訳の方が 100% 英語よりはまし」という方は、こちらを使うと少し幸せになれるかもしれません。

4. .NET Compact Framework 3.5 の、アドエスへのインストール

VS2008 には、開発対象とするモバイル機器へインストールできる .NET Framework のサブセット、.NET Compact Framework 3.5 が提供されています。

インストールデフォルトでは C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE に格納されてはいるんですが、えーと。

アドエスの CPU は ARM なんですけど、ARM 用のライブラリインストーラっぽいのが

  • NETCFv35.ppc.armv4.cab
  • NETCFv35.wce.armv4.cab
  • NETCFv35.wm.armv4i.cab

と3つも。
どれを入れていいのか、全部入れなきゃならないのか私にはわからないんです。
このへんを説明している資料も見つかりませんし。

しかたがないので、VS2008 を持っておらず .NET 製プログラムを使いたいだけの人と同じ方法でライブラリをインストールすることにします。

使いたい人用ライブラリの再頒布可能パッケージは、

ダウンロードの詳細 : .NET Compact Framework 3.5 再頒布可能パッケージ

です。

このへんちょっと古い記事だと、VS2008 の β 段階のリンクだったり、英語版のリンクだったりしますのでご注意。
上記リンク先が「製品版」「日本語版」の再頒布可能パッケージです。

ちなみにこれをインストールするには、アドエスとパソコンが、アドエス付属の USB ケーブルで物理的に接続されている必要があり、かつその状態で ActiveSync 4.5 でシステム的に接続されている必要があります。

ActiveSync 4.5 はアドエス付属の CD で提供されていると思いますが、発売当初からバージョンが上がっているかもしれませんので、一応ご紹介。

ダウンロードの詳細 : ActiveSync 4.5
ダウンロードの詳細 : ActiveSync v4.5 Japanese

…これ、おんなじもんですよね?なんで 2 重に提供してるんだろう。
ちなみにこれは XP 用です。Vista は Windows Mobile デバイスセンターになるはず。

で、ActiveSync 4.5 でアドエスとパソコンをつなげた状態で、上述の再頒布可能パッケージインストーラをパソコン側で起動。

インストーラを最後まで進めたら、アドエス側でインストーラが起動しているはずです。
ライブラリは 5MB くらいありますので、なるべく microSD 側にインストールしておくのが無難なような気がします。

ちょっと動かしてみた感じでは特に動作に異常があったり遅かったりということはないようですが、なにかありましたらまた後日別のエントリでお話ししたいと思います。

5. 自作プログラムを動かしてみる

正式な公開配布をするのであれば .cab か何かのインストーラを作らなきゃいけませんだろうと思いますが、今はとにかく動くかどうかを確かめたいだけですのでそんなもんの作り方まで調べるのがめんどいです。
またリモートデバッグもできるっぽいですが、こっちも手順をきちんと書いた資料がうまく見つからず、探すのがめんどいです。

ので、とりあえず一番簡単な方法で動作確認。

パソコンのエミュレータで正常に動作することが確認できたら、一度リリースビルドします。
で、できあがった .exe ファイルを単純にアドエスにコピーして直接実行。

おお、動いた動いた。
Anchor プロパティさえきちんと設定しておけば、アドエス特有 (?) の縦画面 / 横画面切替にもちゃんと対応できるところまで確認できました。

ちなみに .exe を直接実行をするには、GSFinder などのファイラを使った方が便利です。
標準のファイルエクスプローラでは拡張子が見えなかったり長いファイル名が省略されたりと、なかなか使いにくいです。


さて、ここまで最速で開発環境・動作環境を作ってみました。
今後はしばらくアドエスに入れたいアプリを作ってみることにしたいと思います。

DirectX とか GDI+ とかも使えて、思っていたより高性能で楽しそうです。

てことで、たぶん次に調べなきゃならないのはリモートデバッグだと思うんです。
エミュレータと動作が異なるような場合にトレース実行するためには、どうしてもリモートデバッグが必要なはずなので。


おまけ。
その他、目についた開発資料等のメモ。

What's New for Developers in Windows Mobile 6( 英語 )
( ↑の和訳 )Windows Mobile 6 の開発者向け新機能( 日本語 )
Windows Mobile Developer Center( 英語 )
Microsoft Windows Mobile - サポート情報( 日本語 )
モバイル アプリケーション: 周りのノイズに応じて着信音の音量を調整する -- MSDN Magazine, October 2007( 日本語 )
高橋 忍のブログ : Windows Mobile( 日本語 )

ついでですけど、こんなのもあるんですね。

ダウンロードの詳細 : Microsoft Office Mobile 6.1: Microsoft Office 2007 ファイル形式のサポート

トラックバック

このエントリーのトラックバックURL:
http://salv.miscnotes.com/mt/mt-tb.cgi/678

コメント

がんばってください。
応援しています。

がんばってくださ-い。
アプリリリース楽しみにさせていただきます。

間違えて2回コメントしちゃいました。あれでしたら消しちゃって下さい。すみません。

> どれを入れていいのか、全部入れなきゃならないのか
NETCFv35.wm.armv4i.cab を入れておけば OK かと。
http://www.microsoft.com/japan/msdn/mobility/prodtechinfo/devtools/netcf/FAQ/default.aspx#1.23

メモリに余裕があれば、追加でNETCFv35.Messages.JA.wm.cab も。

> アプリリリース楽しみにさせていただきます。

応援ありがとうございますー。
でも今の私にはプレッシャー(;-;)

WM6Cはともかく、アドエスのローカル仕様がわからず手を焼いています。

> NETCFv35.wm.armv4i.cab を入れておけば OK かと。

おお、ありがとうございます。

ただ、WM6では「wce」なバイナリが各種提供されていまして、ARMだけwm「もある」
状況なんですね。

結局再頒布可能パッケージから入れたら NETCFv35.wm.armv4i.cab が展開されたので
結果ビンゴなんですけど。
「Windows CE用」「Pocket PC用」かなーとも思うんですが、そのへんの裏が取れず。

WMプログラム環境がVS2008Proでしか手に入らない非現実的な点はどうしましょう・・・

今からVS2005Stdを買うしか・・・

例えばAmazonでは今日時点で、

Visual Studio 2005 Standard Edition ¥28,755
Visual Studio 2005 Academic Edition ¥6,000
Visual Studio 2008 Professional Edition アップグレード ¥59,195
Visual Studio 2008 Professional Edition アカデミック ¥11,693

・VB2005Expでユーザー登録すると、アップグレード版を購入できます。
・学生さんであれば、あと1年弱お待ちいただけると無償で入手できるようになる
 可能性があります。

> 非現実的な点はどうしましょう・・・

「前バージョンより高価いモノを買わされるのがおもしろくない」という感情的なお話ではなく、もしほんとに「客観的に非現実的」だと思われているのであれば。

ソフトウェアの学割制度もアップグレードパッケージもなく、Cコンパイラ30万・テキストエディタ4万の時代にプログラミングを学んできた私の世代とは、お話が合わないと思いますよ。

おはようございます。

先日は荒らしに来たのではなく、VS2008でのWM6開発費用が高くなってしまったことに対する驚きで書き込みました。VS2008が出るということでVS2005Stdを買わずに待っていたのですが、Pro以上からということで、どうしようかなと。学割価格が非常に安価なのが気になりますが、もうそのテが使えず残念です。

 組込系のコンパイラも10~30万なんてものもありますし、考えてみれば、そういうものなのかなと思いました。そうすると、Palm向けのCodeWarriorなどは安いものですね(^^;) 当時は学生でしたので、高価に感じていたものです。

丁度ホーミン氏とOffisnail氏の書籍を買いまして、さぁ勉強しようと思っています。
アドエスから機種変するまではVS2005Stdで頑張ろうかと思います。

長文失礼しました。


#iPod touchを開発するためには$99でADPに入会する必要があるようですが、そもそもMacを用意しなければならないので、更に費用が必要です(汗。
次に買い換えるときMacBookにしてWinXPと併用すれば良いのでしょうけれど。

> 驚きで書き込みました。

このあたりは、こた@TeamYgさんという方が大変危機感を持っていて、いろいろアクションを起こす方向で考えていらっしゃるようです。

署名を集めているというわけではありませんが、多くの方がどのように受け止めているかのアンケート等も実施されていますので、一度ご覧になってみてはいかがでしょうか。

TeamYg - お願い VS2008でのモバイル開発について

---

「Windows Mobile プログラミング徹底理解」

は、私も購入しました。
メーカーサイドがほとんど開発情報を公開していない中で、よくこれだけのものを書けたなあと驚嘆しています。

私はVB屋ですので、ここからVB2008でツカえるようなパターンを読み取りたいなあと思っています。

コメントを投稿