CEをビルドする

ページ名:CEをビルドする

エミュレータの画面

Windows CE は、PDA から POS 端末まで必要な機能や性質が大きく異なる様々なデバイスでの利用を想定し、必要な機能だけを組み込んだ独自の Windows CE を各ベンダがビルドする形態を取っていました。この記事では、Brain が搭載している Windows Embedded CE 6.0 をビルドする手順を紹介します。

なお、以下の手順はできる限り高性能な PC で行うことを推奨します。

目次

できること[]

Windows Embedded CE 6.0 のインストール[]

予め、Visual Studio 2005 Professional をセットアップしておきます。評価版でも問題ありません。

まず、Windows Embedded CE 6.0 (直リンク) をインストールします。プロダクトキーを聞かれますが、ダウンロードサイトに記載の Static Activation Key (アクティベーション不要なソフトに提供されるプロダクトキー) が使用できます。

次に、以下のパッチをこの順でインストールします。設定はデフォルトで構いません。

  1. Windows Embedded CE 6.0 Platform Builder Service Pack 1 (直リンク)
  2. Windows Embedded CE 6.0 R2 (直リンク)
  3. Windows Embedded CE 6.0 R3 (直リンク)

Windows Embedded CE 6.0 には、R3 以降もサポート終了までの間 QFE と呼ばれるセキュリティパッチが提供されていましたが、インストールが煩雑であることと、今回の目的は実際の製品に採用する OS をビルドすることではないという理由から省略します。一応、リンクはこちら (直リンク) です。

なお、アンインストールはこの逆順で行います。

Windows Embedded CE 6.0 のビルド[]

プロジェクト作成画面

まず、Visual Studio 2005 を起動します。Windows Vista 以降では管理者権限で起動します。次に、プロジェクトを新規作成 (Ctrl + Shift + N) し、「Platform Builder for CE 6.0」の「OS デザイン」を作成します。プロジェクト名は適当でいいですが、場所は覚えておいてください。場所・プロジェクト名は空白無しの ASCII にしておくのが無難です。

BSP 選択画面

OK を押すとウィザードが開きます。「次へ」で BSP を選ぶ画面になるので「デバイス エミュレータ: ARMV4I」を選択します。次のデザインテンプレートを選ぶ画面以降は、以下の例を参考に目的に合わせて設定します。最後に「完了」を押したときにセキュリティ警告が出る場合がありますが、無視します。

  • 通常は「PDA デバイス」を選択して以降の全てのチェックボックスを有効化します
    • ビルド時間は、最近の PC では 15 分程度です
    • DLL の取得やエミュレータの動作には十分です
    • チェックボックスをデフォルトのまま進めると、ビルド時にエラーで止まります
  • フル機能の Windows CE をビルドしたい場合は、「カスタム デバイス」を選択して以降の全てのチェックボックスを有効化します
    • ビルド時間は、最近の PC では 20 分程度です
  • 最小限の Windows CE をビルドしたい場合は、「スモール フットプリント デバイス」を選択します
    • ビルド時間は、最近の PC では 10 分程度です
    • かなり機能の少ない Windows CE が得られるので、coredll.dll の取得やエミュレータを目的とする場合には使えません
    • 情報がありませんが、Brain の Windows CE が最小限であることを考えると、Brain 用 SDK の作成には丁度良いかもしれません
Build_CE_6.0_on_VS2005_-_Select_Release.png

Release ビルドに切り替え

Build_CE_6.0_on_VS2005_-_Sysgen.png

ビルド開始

プロジェクトが開いたら、上部のツールバーの緑色の三角ボタン (開始) の右で「デバイス エミュレータ ARMV4I Release」を選び、「詳細なビルド コマンド -> システム生成」でビルドします。ここで掛かる時間は、ウィザードで選択した内容によって変化します。

「エラー」と「失敗」が 0 で終了すれば成功で、最初に作ったプロジェクトフォルダの RelDir\DeviceEmulator_ARMV4I_Release に coredll.dll 等の DLL を含む OS のファイルが生成されます。警告は無視してください。エラーになった場合は、ウィザードでの選択項目を変更する必要があるかもしれません。

DLL の取得[]

RelDir\DeviceEmulator_ARMV4I_Release に生成された DLL を使用します。

エミュレータ[]

Build_CE_6.0_on_VS2005_-_Emulator_Settings.png

接続オプション

「ターゲット -> 接続オプション」を開きます。選択できない場合は、VS2005 を再起動してプロジェクトを開き直してください。もちろん、Windows Vista 以降では管理者権限で起動します。開いたら、左の「カーネル サービス マップ」をクリックし、「ダウンロード」と「トランスポート」をともに「Device Emulator (DMA)」に設定します。ここで、「ダウンロード」の右の「設定 -> Display」から画面解像度を変更できます。次に「デバッガ」を「KdStub」に設定します。ここまで設定できたら「適用」を押して閉じます。適用を押さないと変更が反映されないので注意してください。

この状態で「ターゲット -> デバイスの接続」を押し、しばらく待つとエミュレータが起動します。起動しない場合は、ビルド時のウィザードでエミュレータ実行に必要な機能を選択しなかったことが考えられます。終了するときはエミュレータウィンドウを「×」で閉じ、VS2005 で「ターゲット -> デバイスの切断」を選択します。

SDK の作成[]

「ソリューション エクスプローラ」の「SDK」フォルダを右クリックし、「新規 SDK の追加」を選択します。すると「SDK1 プロパティ ページ」が開くので、「全般」の各項目を適当に設定します。個人で使う分にはこの文字列は自分しか見ないので、ネタでも嘘でも何でもいいので埋めます。他の主要な設定としては、「インストール」で SDK インストーラを出力するフォルダを設定でき、「エミュレーション」で SDK に OS イメージを追加して Platform Builder がない PC でもエミュレータでデバッグできるようにする設定ができます。設定できたら OK で閉じます。

32-bit 環境であればここで「ビルド -> すべての SDK のビルド」を押すとビルドできますが、64-bit 環境ではエラーになります。これを回避するには、SDK を作成するプログラムである GenSdk.exe を 32-bit で動作させる必要があります。そのために、まず GenSDK32.exe をダウンロードして GenSdk.exe と同じ場所 (通常は C:\Program Files (x86)\Microsoft Platform Builder\6.00\cepb\IdeVS) に配置します。上書きではないので注意してください。そして、コマンドプロンプトを用いて GenSDK32 を BuildSDK1.xml のパスを引数に与えて実行[1]すると、「SDK1 プロパティ ページ」で設定したフォルダに SDK の MSI ファイルが生成されます。コマンド入力の例を以下に示します。

"C:\Program Files (x86)\Microsoft Platform Builder\6.00\cepb\IdeVS\GenSDK32.exe" "C:\WINCE600\OSDesigns\S4WE\S4WE\SDKs\SDK1\obj\BuildSDK1.xml"

ここで生成された SDK は、Visual Studio 2005/2008 の Professional 以上で使用できます。インストール方法は通常の SDK と同じです。

注釈[]

  1. GenSdk.exe は .NET アプリケーションで、32-bit モードを強制する設定になっていないため 64-bit システムでは 64-bit モードで起動されるのですが、レジストリ情報が 32-bit 側にしか設定されていないためエラーを吐きます。そのために、32-bit モードを強制する設定にした GenSDK32.exe から GenSdk.exe 内の Main メソッドを呼び出すことで 32-bit モードで実行されるようにしています。この仕様の通り、GenSDK32.exe は GenSdk.exe の代替ではなく GenSdk.exe がないと実行できません。また、クラス名とファイル名を一致させる必要があるので GenSdk.exe を改名することもできません。よって、このような手順になっています。

参考[]

  • CE 6.0 用のアプリケーションを開発する
  • Installing Windows CE 6.0 tools on a Windows7 64bit PC


特に記載のない限り、コミュニティのコンテンツはCC BY-SAライセンスの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。


最近更新されたページ

左メニュー

左メニューサンプル左メニューはヘッダーメニューの【編集】>【左メニューを編集する】をクリックすると編集できます。ご自由に編集してください。掲示板雑談・質問・相談掲示板更新履歴最近のコメントカウン...

音楽を聴く

目次1 Xaudio MP3 Player2 Nitrogen3 Winamp3.1 導入3.2 使い方3.2.1 メニューの項目3.2.2 スキンの適用3.2.3 イコライザー3.2.4 プレイリス...

電子辞書を買う、その前に

このページでは、進学して初めて電子辞書を購入される方、新しい機種に乗り換える方のために、それぞれのニーズに合わせた電子辞書を紹介していきます。特に最近の Brain は Windows CE を活用す...

開発者用ツール

開発者用ツール.pngここでは、Brain 上で動作する開発者用ツールを紹介しています。Brain 用ソフトウェア開発には、開発環境・SDK も参照してください。ソフト名できること備考Scalpelシ...

開発環境・SDK

注意: 2021年に発売された第5世代に該当するモデルで動作するアプリの作成方法は、現状不明です。詳細はこちら。開発環境[]各開発環境の環境構築や使い方などの詳細については、それぞれのリンク先の記事を...

記号・日本語の入力方法

Brain にはキーボードがありますが、辞書を引くための最低限のキーしか搭載されておらず、数字や記号を入力することができません。また、IME が搭載されていないため辞書アプリ外では日本語入力もできませ...

第5世代

第5世代機の発売日当日、突如として Brain Library に現れたポップアップ。多くの憶測を呼んだ。2021 年、例年より少し遅れて、見た目は PW-Sx7 とほぼ何の違いもない PW-S1, ...

第4世代

この世代では、PW-SB5 以降の大学生・ビジネス向けモデル (PW-SB 系) を除く機種に非公式アプリの起動プロテクトが掛かるようになりました。また、PW-Sx7 ではさらに強化したプロテクトが導...

第3世代

対象型番[]発売時期中学生高校生学校専売大学生ビジネス生活·教養シニアその他2014年前半SJ1SH1HC4SB1SA12014年後半SR12015年前半SJ2SH2HC5SB2SA22015年後半2...

第2世代

対象型番[]発売時期中学生高校生学校専売大学生ビジネス生活·教養シニアその他2012年前半G4200G5200HC2A9200A72002012年後半A7300GX5002013年前半G5300HC3...

第1世代

対象型番[]発売時期中学生高校生学校専売大学生ビジネス生活·教養シニアその他2008年後半AC880AC830TC9802009年前半GC590AC8902009年後半AC9002010年前半GC61...

倉庫番

Warehouse Guy プレイ画面グループゲーム開発者True DimensionsDLLmfcce211.dll1982 年に PC-8801 向けにリリースされて以降、30 年以上に渡って遊ば...

リンク集

Brain 用ソフトウェア開発者[]KnatechceOpener、KN PDF Reader など。川本優Task Switcher など。ソースコードはこちらで配布されています。lycorisON...

リバーシ

かつてはブレーンライブラリーで追加コンテンツとして「リバーシ」が販売されていましたが、削除されてしまいました。しかし、まだフリーソフトでリバーシを遊ぶことができます。目次1 Reversi1.1 操作...

ユーティリティ

便利ツール-0.pngソフト名解説備考Garmap CE(直リンク)オフライン地図アプリです。MioPocket の System に入れ、AYGSHELL.DLL を CE5 からコピーします。別途...

メガドライブエミュレータ

1988 年に当時のセガ・エンタープライゼスより発売された、据え置き型家庭用ゲーム機メガドライブのエミュレータの解説です。自由な利用と頒布が許諾されていない ROM のダウンロードは著作権侵害により罰...

ミニッツマスコット

ミニッツマスコット デフォルトのキャラクターは「耳長メイドのらんぷさん」グループユーティリティ利用用途デスクトップマスコット開発者上野智弘DLL不要デスクトップ常駐型のキャラクター表示アプリといえば、...