当前位置: 首页 > 图文教程 > 操作系统 > Windows > Windows XP无法安装DX 9的解决方法

Windows
Windows操作系统31招快速修复技巧(下)
Windows XP桌面故障的解决方案
Windows几个常见故障的解决方法
Windows系统故障快速解决技巧
Windows XP故障解决常用套路
Windows XP常见故障诊断思路
系统资源不足时该怎么办?
EFS加密技巧让数据更安全
改装Windows XP操作系统的外观
详细介绍Windows的登录类型
Windows使用记录自动清除
不用重装XP系统就可以解决全部故障
任务管理器删除无法删除的文件
XP启动失败后的十个补救措施
关闭Windows系统更新提醒
Vista时代即将开始,XP退出舞台
无线网络连接故障的处理方法
制作百毒不侵的Windows系统
Windows XP中如何能做工到瘦身和加速
为什么XP SP3不支持Windows XP?

Windows XP无法安装DX 9的解决方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 28 ::
收藏到网摘: n/a

 

  想必很多朋友都使用过一份被称为VLK(上海大客户)版的WindowsXP操作系统,大家之所以选择它无非是看中集成的SP2、DirectX 9.0b(以下简称DX 9.0b)、免激活以及性能方面的优化等等,可就是这份看起来完美无缺的XP版本却因为微软发布DirectX 9.0c才暴露了一个小问题,故事还得从笔者上次帮朋友重装系统讲起……
  有一次,笔者的一位朋友电脑出了点问题,请笔者过去看看,当时看到电脑里软件有些老,笔者就用自己一直在用的VLK版WinXP帮朋友重装了一遍系统。随后的日子一直平安无事,可天生喜好汽车的朋友那天忽然买来了一张《极品飞车8》,却无论如何也装不上,这才给笔者打了电话……

  友:“喂,是宏伟吗?”

  我:“哦,老张吧?有什么事儿吗?”

  友:“是这样,昨天我买了一张《极品飞车8》,可就是装不上,装完了一双击总提示缺XXX文件”

  我:“缺文件?是不是软件有问题啊?”

  友:“应该没事儿吧,我当时也拿不准,就让同事在别的电脑上装了一下,挺正常的,那台机器配置还没我的高呢”

  [旁] 笔者平时几乎不玩游戏,所以一遇到游戏问题就有点发懵,只会按一般的思路去想,请各位游戏高手们不要见笑

  我:“配置没有家里的高,该不会装的是98吧?那台机器是什么系统啊?”

  [旁] 其实此时想想也不太像是系统不支持,这么新的游戏,运行平台肯定支持XP,而且这套XP的组件版本都很高,朋友的机器配置也不低,但此时必须将所有可能出现的问题都比较一下

  友:“和家里的一样,也是XP,以前我们单位的电脑也是他帮忙装的”

  [旁] 3D游戏都需要DirectX支持,这么新的游戏该配合哪个版本的DirectX呢?会不会比集成的9.0b还要高呢

  我:“对了,你看看游戏的安装说明里有没有DirectX的版本要求?”

  友:赶忙翻阅……“有,有,是DirectX 9.0c,不过这个也装过了。”

  我:心想,看来电话里是搞不定了,没准又是系统故障,还是实地看一下吧,反正当时留了一个Ghost备份,于是就和朋友说“这样吧,老张,明天正好礼拜六,你要是上午没事,我去你那儿看一下,要不电话里也讲不清。”

  友:“行,明天我正好没事儿,就在家等你了。”

  第二天上午,我如约到了朋友家里。经过一番检查和调试,确认了不是因为系统缺少文件才出现的问题,但却发现了一个奇怪的现象,这就是每次升级安装DX9.0c时,总看不到像其他版本DX升级那样的文件复制过程,反之,安装速度非常快,不到2秒钟就完了,随后就出现如图1的完成对话框。而通过在“开始”菜单→“运行”栏中输入“dxdiag”调出DirectX诊断程序进行检测,也证实了我的猜测 —— 当前的DirectX版本仍为9.0b,9.0c并未安装成功。如图2所示



图1



图2

  【小提示】

  DirectX是微软的一个3D函数库,它的版本随着不断加入新的3D函数而增加,最新的版本是9.0c。每款3D游戏在编写时,都可以直接调用DirectX里的函数简化编制过程,降低游戏大小,并实现各种漂亮的3D效果而不用再劳心费力地自行编制。这也意味着,如果某游戏开发时使用了DirectX 9.0c里的函数,那么要求玩家安装游戏时也要在自己电脑里装上DirectX 9.0c,否则游戏将无法正常调用相应函数实现预设的3D效果

  这样看来,游戏提示缺文件的故障很可能出在DirectX 9.0c上,而回忆上次朋友在电话里描述的安装过程,估计就是看到了图1的提示才说的。可由于自己平时不怎么玩游戏,家里的电脑没有升级到9.0c,自然也就没注意这个问题。那天恰巧朋友的机器是双系统,还有一个Win98。笔者连忙进入98升级安装了DirectX 9.0c,一切都很顺利,装上DX9.0c的Win98玩起《极品飞车8》来自然毫无问题。这样看来,真正的问题不是出在这版WinXP上,就是由于DX设计的问题 —— 9.0b无法正常升级为9.0c。由于朋友家条件不足,无法继续测试,我就将朋友的《极飞8》光盘借回家里慢慢研究。

  经过反复试验,确定了在Win98下DX9.0b是完全可以正常升级为9.0c的,也就肯定了是由于这版XP造成了这个故障,难道就为了一个游戏再重新更换一套操作系统吗?当然不用,由于DirectX 9.0c的安装包里有两个程序(dsetup32.dll和dsetup.dll)负责在每次安装前检测系统的DX版本,如果与自己的版本相同或更高就不继续安装,但不知为何它无法正确检测这版WinXP的DX版本,所以才出现了图1的画面。而我也就将计就计地骗了XP一下,将DirectX 9.0c中的这两个文件替换为9.0b的,这样安装程序就能正常检测安装了。原版与修改版的区别如图3和图4所示