gotouさんとのやり取りで.NET Compact FrameworkやアプリのコピーでActiveSyncについての質問があったためこちらにまとめます。
Windows Mobile端末には標準でActiveSyncがインストールされていますので、追加インストールする必要はありません。
ActiveSyncなしでアプリを配布することは可能です。端末から直接ダウンロードするか、microSDカードにコピーして渡してください。microSDカードにEXEをコピーすれば、microSDカードから直接起動することが可能です。
.NET Compact Framework 3.5の再頒布可能パッケージをWindows Mobile上で直接インストールすれば、ActiveSyncは必要ありません。以下から入手できます。
ログ
※話の流れを分かり易くするため、一部順番を入れ替えたり改変しています。
※手順とはid:n7shi:20090106を指します。
.NET Compact Framework 3.5
gotou: Willcom WS011SH のマイクロSDカードの入れて試したところ、.NETコンパクトフレームワークの新しいのが必要と表示され、エラーになります。音を導入する予定があるため、V3.5導入しました。
n7shi: 3.5が要求されたのは手順4で2.0を指定しなかったためです。
gotou: 手順4で、2.0を選択したら、音は出なくなるのでしょうか?
n7shi: 音が必要であれば3.5を選択してください。2.0で音を出す方法はありますが、Win32APIの知識が必要になるため難しいです。
ライブラリの参照
gotou: 気になるのは 10. で指定フォルダ内の全部のファイルを入れてしまいましたが、駄目でしょうか?「これでウィンドウが表示されるだけのアプリケーションが完成です。出力されたEXEファイルをWindows Mobileにコピーすればそのまま動きます。」これがうまくいきません。
n7shi: 手順10で全部を指定すると起動しなくなります。必要なものだけに絞ってください。
gotou: 手順10 で必要なファイルがよく分からなかったので例のまま、mscorlib, System.Data, System, System.Drawing, System.Windows.Forms, System.Xml の6ファイルにしましたが動きませんでした。
n7shi: WindowsFormsApplication1.vshost.exe をコピーしているのではないですか?vshostではない方の WindowsFormsApplication1.exe をコピーしてください。
gotou: WindowsFormsApplication1.exe を実行しています。サンプルも似たようなエラーが出たのでどうやら、コンパクトフレームワークをインストールし直したらいいということでしょうか?
ActiveSync
gotou: 注意深く確認したら、ActiveSync の互換性がないので、V3.5を正しくインストールできなかったみたいです。ActiveSync探しの旅に出ます。
gotou: ActiveSyncが自分のパソコンに入っていなかったようです。
gotou: PCにそれをインストール、そしてUSBつなげて03にもActiveSync4.5を入れたら見事うごきました。女の子の声が出るサンプルも動きました。
gotou: ActiveSyncは03には標準では入っていないのでしょうか?だとしたらソフトを制作して友人に渡したとしても動作しないと言うことにならないでしょうか?
n7shi: この件に関しては冒頭で回答しましたが、以下に要約します。
- ActiveSyncはWindows Mobile端末には標準でインストールされているため、別途インストールする必要はありません。
- ActiveSyncなしで.NET Compact Framework 3.5をインストールすることは可能です。インストーラをダウンロードするかmicroSDにコピーしてください。
ゲーム
gotou: コナミのwillcomグラディウス2で驚きましたが、あれを作ろうとするとC#ではかなり処理速度的に厳しいのでしょうか?スピード感のあるものはC++ということでしょうか?willcomのC++の本を見つけました。そしてVisualStudio2010ベータもDLしました。C++かC#かで悩んでいます。
n7shi: グラディウス2はC++でもC#でもなくJavaで作られています。携帯電話用のゲーム開発はJavaが主流です。C#は初めてで携帯電話用ゲーム開発が目的であれば、Javaをお勧めします。
gotou: コンテストに出したいと考えているのですが、WindowsMobileでないと規定に入らないので仕方なくです。本音はJavaで開発したいところです。