我上一次安装DirectX SDK已经一年多以前了。更新到Win7 64系统后,一直没有再安装。今天要写一个3D程序,必须得安装。安装过程也算顺利,花了15分钟左右,进度条走到底了。满以为就成功了,但下一个页面却跳出错误提示来:
这种错误提示非常可恶,只有一个完成按钮,连返回的机会都不给。直接告诉你,功夫白花掉了。界面上的提示毫无价值,竟然让你关闭所有程序,然后再试一遍。这就好像一些电脑维修电的人,谁把电脑送过去,他用得最纯熟的一招就是“把系统重装一遍”!
但通过关键字s1023搜索了一下,竟然很快就在stackoverflow及微软support网站上找到了解决办法:原文URL、2。解决此问题步骤如下:
- 打开temp目录(%temp%)后,根据日期找到log文件。Log文件很容易找,通过日期排序后,找到文件Microsoft Visual C++ 2010 x86 Redistributable Setup_data_xxx.htm
- 打开log文件后,确认有类似下面的错误内容:
Installation Blockers: 1.A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine. Final Result: Installation failed with error code: (0x000013EC),"A StopBlock was hit or a System Requirement was not met." (Elapsedtime: 0 00:00:01).
- 这个错误稍微解释一下,它是讲:SDK安装包在为系统安装VS2010再发行组件(Redistributable package)的时候,发现系统中已经安装了一个版本更新的VS2010再发行组件,导致SDK的再发行组件无法安装。SDK安装失败。(真白痴!)
- 如果确认是同样的问题的话,解决的办法很简单:控制面板中打开“程序和特性”,找到名为Microsoft Visual C++ 2010 X64 Redistributable-xxx和Microsoft Visual C++ 2010 X86 Redistributable-xxx这两个程序并卸载它们(如果是32位系统,就只有x86一个)。我系统中这两个程序的版本是10.0.40219。
- 重新安装DirectX SDK。SDK最后会为系统安装两个版本较旧的VS2010再发行组件(10.0.30319)。最后安装顺利完成。
在使用Windows的过程中,我多次遇到过SDK、KB补丁安装不成功的情况。究其原因,大抵是一些很白痴的问题导致的。本例中,
我机器上原有的VS2010再发行组件版本是10.0.40219,DirectX SDK试图安装10.0.30319版本,无法更新而导致整个安装过程失败 。微软在这方面的用户体验上,做得实在差劲。