最近客户那边遇到了一个问题:在Windows 7操作系统下,使用VS2005/2008开发WinCE智能设备应用程序的时候,识别不到机器上已经安装好了的WinCE5 SDK。问题解决后,将搜集的资料做一下总结。
一 微软网站上的问题描述
Unable to install a Windows CE 5 SDK provided by a vendor on a Windows Vista or Windows 7 machine running Visual Studio 2008. This SDK will install on Windows XP machines with Visual Studio 2008. Though the SDK will appear in the list of programs that can be uninstalled it will not appear as a target for a smart device project.
二 导致此问题的根本原因
Though not proven, it would seem that when the installation is run on Windows Vista or Windows 7 some part of that process is not running at an appropriately authorized level to successfully install the SDK.
Specifically, the file C:/Program Files/Microsoft Visual Studio 9.0/VC/vcpackages/WCE.VC
Platform.config does not get updated(注:这个路径是针对VS2008的)
三 解决办法
1 微软提出的解决方法:
To successfully install a CE 5 SDK use the following steps:
1) Open a command prompt with administrator authority
2) Enter the command "msiexec /package SDKinstall.msi" where SDKInstall.msi is the name of the .msi file you wish to install
3) Step through the installation process
This process will successfully install the SDK as expected. To check for a successful installation look for a reference to the SDK in C:/Program Files/Microsoft Visual Studio 9.0/VC/vcpackages/WCE.VCPlatform.config assuming Visual Studio is installed in the default location. A smart device project will now offer the new SDK as a target.
2 论坛网友A的建议
1. Make sure you install Visual Studio 2005 Service Pack 1 and Visual Studio 2005 Service Pack 1 Update for Windows Vista
2. Run the VS2005 as Administrator (right click on the shortcut to VS2005 and then select "Run as Administrator).
The known issue list and more other information can be found from the following link:
Visual Studio on Windows Vista and Windows 7
http://msdn.microsoft.com/en-us/vstudio/aa948853.aspx
If possible I would recommend you use VS2008 on Windows 7 64-bit. That's what I am using and VS2008 has no problem recognizing Windows CE SDK.
3 论坛网友B的建议
An update on this issue I have discovered that it is WCE.VCPlatform.config is not being updated by the SDK install process on Windows 7.
I Solved the issue by installing an identical set of SDK's on a Win XP machine then copied the file to the C:/Program Files/Microsoft Visual Studio 9.0/VC/vcpackages/WCE.VCPlatform.
config.(注:此路径也是针对VS2008的)
附:我直接采用了网友B的建议,目前来看已经能够Win7上开发了,没发现什么由此而产生的问题。
相关网页地址:
http://social.msdn.microsoft.com/Forums/zh-SG/vssmartdevicesnative/thread/cf730fd1-6cde-4721-b54d-98281787bd57
http://support.microsoft.com/kb/2022719#top
http://msdn.microsoft.com/en-us/vstudio/aa964140