Windows7 64bit環境+Platform Builder(Windows Embedded CE 6.0 R2)でSDK作成時にエラーが発生する。

メモリも安価になってきた今日この頃、Windows7 SP1 64bitでのWindows Embedded CE 6.0開発環境を整えてみた。

残念ながら、SDK作成時にエラーが発生する。

OSのビルド、ランタイムイメージの作成はOKだったのだが。。。残念。

'C:\Program' Files (x86)\Microsoft Visual Studio 8\Common7\IDE>"C:\Program Files (x86)\Microsoft Platform Builder\6.00\cepb\IdeVS\GenSdk.exe" ... 
Required files may be missing. To resolve the issue, reinstall Platform Builder.

Installing Windows CE 6.0 tools on a Windows7 64bit PC

原因はどうやら、GenSdk.exe +64bit環境 にあるらしい。

GenSdk.exeは.NETアプリ、かつPlatform Builderによって64bitモードで実行されてしまう。

64bit mode はレジストリが32bitと違うらしい。

対策としては、この参考サイトの通り、GenSdk.exeを32bitで実行してくれる小さなアプリを作成すると良いらしい。

Microsoft Platform Builder\6.00\cepb\IdeVS\GenSdk.exe に参照設定をして実行するラッパーのアプリを作るようだ。

(GenSdk32.exeのソース一式が公開されている。素晴らしい。)

このソースを基に、参照設定を行いエラーとなったコマンドを再実行すると、正常にSDKが生成されたようだ。

C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE>"C:\Program Files (x86)\Microsoft Platform Builder\6.00\cepb\IdeVS\GenSdk32.exe" .... BuildSDK2.xml

Committing database changes

Committing database changes
Creating 'required' feature
Adding required files

Committing database changes

Committing database changes
Rolling sysgen'ed headers and libs
    ICOP_eBox4300_60DS X86 Release
Rolling optional native development components
Creating 'common' feature
Adding common files
Adding documentation files

Committing database changes

Committing database changes

Committing database changes
Cabbing installation files.
  -- adding C:\WINCE600\PUBLIC\Ebox4300_VPN\Ebox4300_VPN\SDKs\SDK2\obj\eBox4300_WINCE600_SDK\LicenseTerms.rtf
  -- adding C:\WINCE600\PUBLIC\Ebox4300_VPN\Ebox4300_VPN\SDKs\SDK2\obj\eBox4300_WINCE600_SDK\Properties.xml
  -- adding C:\WINCE600\PUBLIC\Ebox4300_VPN\Ebox4300_VPN\SDKs\SDK2\obj\eBox4300_WINCE600_SDK\Lib\x86\xlock.lib
  -- adding C:\WINCE600\PUBLIC\Ebox4300_VPN\Ebox4300_VPN\SDKs\SDK2\obj\eBox4300_WINCE600_SDK\Lib\x86\xlock.pdb
  -- adding C:\WINCE600\PUBLIC\Ebox4300_VPN\Ebox4300_VPN\SDKs\SDK2\obj\eBox4300_WINCE600_SDK\MSManifest.txt

Cabinet file successfully created: C:\WINCE600\PUBLIC\Ebox4300_VPN\Ebox4300_VPN\SDKs\SDK2\obj\sdkfiles.cab


Committing database changes

Exported SDK to: ....SDK2.msi

参考:環境

OS 名	Microsoft Windows 7 Professional
バージョン	6.1.7601 Service Pack 1 ビルド 7601
OS 製造元	Microsoft Corporation
システム製造元	System manufacturer
システムモデル	System Product Name
システムの種類	x64-ベース PC
プロセッサ	Intel(R) Core(TM) i5 CPU         660  @ 3.33GHz、3334 Mhz、2 個のコア、4 個のロジカル プロセッサ
BIOS バージョン/日付	American Megatrends Inc. 0401, 2010/06/21
SMBIOS バージョン	2.6
Windows ディレクトリ	C:\Windows
ハードウェア アブストラクション レイヤー	バージョン = "6.1.7601.17514"
インストール済みの物理メモリ (RAM)	12.0 GB

関連記事