【问题背景】
在VS2005下,新建一个VC++的win32 Smart device project,结果填了名字,点击确定后,又出现当前新建的对话框了,而没有继续下去:
当前窗口为:
注:此处我新建Win32 Smart Device Project,并没有出现很多人说的显示脚本错误。
而另外尝试了,新建的时候,如果选择“MFC Smart Device Application”,是会出现脚本错误的。
【解决过程】
1.试了网上很多人说的,去注册表里面新加一个项:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExtPreApproved
添加一个名为 {D245F352-3F45-4516-B1E6-04608DA126CC} 的新项
但是对我此处问题无效。
2.最后网上找到了这里:
Some VS2005 and VS2008 Wizards Pop Up Script Error
解释的很清楚,要这么做:
Open regedit (on a 64-bit OS, open the 32-bit regedit)
– Under “HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet
SettingsZones”, create a new key called 1000 (if it isn’t already there)
– Under 1000, create a DWORD entry with:
o Name = 1207
o Type = REG_DWORD
o Data = 0x000000
建好了注册表项:
但是对偶此处问题也还是无效。然后突然发现其下面还有一句:
“For the workaround to work on VS2005 however, the VS2005 SP1 (and VS2005 SP1 Update for Windows Vista) has to be installed.”
意思要先去安装VS2005 SP1,所以找到下载地址:
去下载,等下载后,装上,试试问题是否解决。
3.在此期间,去安装上面网址中说的:
“ The Internet Explorer team has released a security update to IE as mentioned in the IE blog:
http://blogs.msdn.com/ie/archive/2009/06/09/ie-june-09-security-update-now-available.aspx
This update also fixes the problem that caused some Visual Studio wizards to pop up a script error. After applying this update, the earlier workaround in the registry is no longer required, and the wizards should work fine.”
想要找到那个对应的IE的更新,结果却始终无法找到对应的补丁包,很是无语。
本来期望找到对应的补丁包,下载安装后,把问题搞定,就不需要继续弄那个VS2005 SP1了,因为此SP1有200多M,下载太慢,安装起来也费事。。。
所以,想要找到IE补丁包以解决此问题的想法,只能放弃。
4.下载了VS2005 SP1:VS80sp1-KB926601-X86-ENU.exe后,安装好之后,重启机器,然后再新建Win32 Smart Device Project的话,就可以成功新建了,新建之后下一步的界面是这样的:
【总结】
从微软的博客中看到对应的安全更新的帖子,结果竟然找不到对应的补丁包的下载地址,只能找到那个可以实现自动检测并下载更新的那个网址,很是诧异,想不到微软也是这么烂啊,自己更新的补丁,都找不到下载地址。。。。
挂不得很多人不喜欢微软呢,因为开发中遇到问题的话,Windows常常就像个黑盒子,内部机制如何处理,如何遇到了问题,你都不知道,除了Windows开发人员和了解内部机制的人来给你解答,否则你不知道问题出在哪了。
相对来说,Linux中,全是透明的,源码之间无秘密,只要你懂,总会从源码中找到问题的原因。