在Windows 7旗舰版64位系统上使用Visual Studio 2005与Windows CE 6.0进行SDK生成时,可能会遇到错误,具体表现为当执行`C:\Program Files (x86)\Microsoft Platform Builder\6.00\cepb\IdeVS\GenSdk.exe`命令来构建SDK时,出现提示"Required files may be missing",并建议重新安装Platform Builder。
通常,完成操作系统映像的构建和测试后,开发人员需要创建SDK以便应用程序开发者能够针对特定设备开发应用。在这个过程中,SDK配置向导在64位机器上运行无误,但问题在于生成SDK的命令由于.NET应用程序GENSDK.EXE的兼容性问题引发错误。由于GENSDK.EXE是被Platform Builder以64位模式启动的,而它依赖于32位注册表中的配置键,这导致了两者之间的不匹配,从而引发错误。
解决这个问题的关键在于,由于GENSDK.EXE是.NET应用且需要在32位环境中运行,我们不能直接在64位系统上使用它的原生版本。为了修复这个冲突,可以采取以下步骤:
1. 创建一个小型.NET应用程序:设计一个简单的.NET项目,确保其以32位(x86)模式运行。
2. 引用GENSDK.EXE:在新创建的.NET应用程序中,添加对GENSDK.EXE的引用,使其能够在生成SDK时调用正确的32位版本。
3. 调用GENSDK.EXE:通过编程方式控制这个32位.NET应用程序执行GENSDK.EXE所需的命令,如`C:\WINCE600\OSDesigns\S4WE\S4WE\SDKs\SDK1\obj\BuildSDK1.xml`,以完成SDK的打包和生成过程。
这样,通过将GENSDK.EXE的调用封装在一个支持32位运行环境的.NET应用程序中,就可以绕过因操作系统位数不匹配导致的错误,并成功生成SDK。在重新编译和配置后,确保将生成的SDK分发给目标开发人员,他们可以在各自的32位系统上安装和使用。