症状:运行DirectX9.0c(以下简称D9c)安装程序后接受协议、点击下一步,直接出现安装完毕提示,点击完成按钮后没有提示“安装程序需要重新启动电脑”,运行DirectX诊断程序,发现版本号仍然为DirectX9.0b,安装失败。
原因分析:出现这种情况,是因为系统安装了WinXPSP2RC1v2096(市面上流传甚广的上海市政府版即集成了这个版本),而不是SP2正式版。RC版的SP2与D9c有兼容性问题,所以无法安装。正式版的SP2已经包含D9c。
解决方案:
壹、(未测试)最彻底的方法是卸载RC版的SP2并安装正式版的SP2(下载地址:download.microsoft.com/download/f/6/4/f648c363-6975-470c-8202-ac5aea706109/WindowsXP-KB835935-SP2-CHS.exe),当然也可以装SP1或者干脆不装。。。但是这对系统没好处,所以不推荐。
由于集成了SP2的WinXP安装版本无法卸载SP2,上海政府版及类似版本用户请继续读。。。
发(未测试)如果你有不带SP2的原始版本XP安装盘,请使用超狐工作室的DirectX随意卸回滚到低版本的DirectX,再运行D9c安装程序。
叁、这是笔者失败n次后测试成功的方法,由于水平有限,难免会有错漏。。使用者请作好心理准备--b
1.新建以下目录:
C:\DXTEMP
C:\DXTEMP\DRIVERS
C:\DXTEMP\SYSTEM32
2.三章安装光盘Disc4中的DirectX9c目录下(也可从以下地址下载download.lineage2.com.cn/directx/directx9c.exe)有几个压缩包,我们要从里面提取一些文件。谨慎者请阅读后面的解压操作列表;懒人请遵循以下步骤:从BDAXP.CAB中解压缩所有的.ax文件和wstdecod.dll到C:\DXTEMP,解压缩所有的.sys文件到C:\DXTEMP\DRIVERS;从DXNT.CAB中解压缩ksproxy.ax和ks.sys到C:\DXTEMP,解压缩所有的.exe和.dll文件到C:\DXTEMP\SYSTEM32。
附:解压操作列表(箭头后面是目标路径)
---BDAXP.CAB---
bdaplgin.ax->C:\DXTEMP
ipsink.ax->C:\DXTEMP
kstvtune.ax->C:\DXTEMP
kswdmcap.ax->C:\DXTEMP
ksxbar.ax->C:\DXTEMP
vbisurf.ax->C:\DXTEMP
wstdecod.dll->C:\DXTEMP
bdasup.sys->C:\DXTEMP\DRIVERS
ccdecode.sys->C:\DXTEMP\DRIVERS
mpe.sys->C:\DXTEMP\DRIVERS
nabtsfec.sys->C:\DXTEMP\DRIVERS
ndisip.sys->C:\DXTEMP\DRIVERS
slip.sys->C:\DXTEMP\DRIVERS
---DXNT.CAB---
ksproxy.ax->C:\DXTEMP
ks.sys->C:\DXTEMP
dplaysvr.exe->C:\DXTEMP\SYSTEM32
dpnsvr.exe->C:\DXTEMP\SYSTEM32
dpvsetup.exe->C:\DXTEMP\SYSTEM32
dxdiag.exe->C:\DXTEMP\SYSTEM32
dxdllreg.exe->C:\DXTEMP\SYSTEM32
amstream.dll->C:\DXTEMP\SYSTEM32
d3d8.dll->C:\DXTEMP\SYSTEM32
d3d8thk.dll->C:\DXTEMP\SYSTEM32
d3d9.dll->C:\DXTEMP\SYSTEM32
d3dim.dll->C:\DXTEMP\SYSTEM32
d3dim700.dll->C:\DXTEMP\SYSTEM32
d3dpmesh.dll->C:\DXTEMP\SYSTEM32
d3dramp.dll->C:\DXTEMP\SYSTEM32
d3drm.dll->C:\DXTEMP\SYSTEM32
d3dxof.dll->C:\DXTEMP\SYSTEM32
ddraw.dll->C:\DXTEMP\SYSTEM32
ddrawex.dll->C:\DXTEMP\SYSTEM32
devenum.dll->C:\DXTEMP\SYSTEM32
diactfrm.dll->C:\DXTEMP\SYSTEM32
dimap.dll->C:\DXTEMP\SYSTEM32
dinput.dll->C:\DXTEMP\SYSTEM32
dinput8.dll->C:\DXTEMP\SYSTEM32
dmband.dll->C:\DXTEMP\SYSTEM32
dmcompos.dll->C:\DXTEMP\SYSTEM32
dmime.dll->C:\DXTEMP\SYSTEM32
dmloader.dll->C:\DXTEMP\SYSTEM32
dmscript.dll->C:\DXTEMP\SYSTEM32
dmstyle.dll->C:\DXTEMP\SYSTEM32
dmsynth.dll->C:\DXTEMP\SYSTEM32
dmusic.dll->C:\DXTEMP\SYSTEM32
dplayx.dll->C:\DXTEMP\SYSTEM32
dpmodemx.dll->C:\DXTEMP\SYSTEM32
dpnaddr.dll->C:\DXTEMP\SYSTEM32
dpnet.dll->C:\DXTEMP\SYSTEM32
dpnhpast.dll->C:\DXTEMP\SYSTEM32
dpnhupnp.dll->C:\DXTEMP\SYSTEM32
dpnlobby.dll->C:\DXTEMP\SYSTEM32
dpvacm.dll->C:\DXTEMP\SYSTEM32
dpvoice.dll->C:\DXTEMP\SYSTEM32
dpvvox.dll->C:\DXTEMP\SYSTEM32
dpwsockx.dll->C:\DXTEMP\SYSTEM32
dsdmo.dll->C:\DXTEMP\SYSTEM32
dsdmoprp.dll->C:\DXTEMP\SYSTEM32
dsound.dll->C:\DXTEMP\SYSTEM32
dsound3d.dll->C:\DXTEMP\SYSTEM32
dswave.dll->C:\DXTEMP\SYSTEM32
dx7vb.dll->C:\DXTEMP\SYSTEM32
dx8vb.dll->C:\DXTEMP\SYSTEM32
dxdiagn.dll->C:\DXTEMP\SYSTEM32
gcdef.dll->C:\DXTEMP\SYSTEM32
ksuser.dll->C:\DXTEMP\SYSTEM32
mciqtz32.dll->C:\DXTEMP\SYSTEM32
msdmo.dll->C:\DXTEMP\SYSTEM32
mswebdvd.dll->C:\DXTEMP\SYSTEM32
pid.dll->C:\DXTEMP\SYSTEM32
qasf.dll->C:\DXTEMP\SYSTEM32
qcap.dll->C:\DXTEMP\SYSTEM32
qdv.dll->C:\DXTEMP\SYSTEM32
qdvd.dll->C:\DXTEMP\SYSTEM32
qedit.dll->C:\DXTEMP\SYSTEM32
qedwipes.dll->C:\DXTEMP\SYSTEM32
quartz.dll->C:\DXTEMP\SYSTEM32
3.打开记事本,将以下内容保存为一个批处理文件,比如c:\d9c.bat:
%SystemDrive%
CD\
cd%SystemRoot%
cdsystem32
copyC:\DXTEMP\*.*/Y
copyC:\DXTEMP\SYSTEM32\*.*/Y
cddrivers
copyC:\DXTEMP\DRIVERS/Y
cd..
regsvr32/sipsink.ax
regsvr32/sks.sys
regsvr32/sksproxy.ax
regsvr32/skstvtune.ax
regsvr32/skswdmcap.ax
regsvr32/sksxbar.ax
regsvr32/sbdaplgin.ax
regsvr32/sccdecode.sys
regsvr32/smpe.sys
regsvr32/snabtsfec.sys
regsvr32/sndisip.sys
regsvr32/sslip.sys
regsvr32/sbdasup.sys
@echo文件复制完毕,请重启电脑
4.重新启动系统,并猛按F8直到出现启动菜单,进入安全模式,然后执行刚才新建的d9c.bat。完成后再次重启,像平常一样进入Windows。打开记事本,将以下内容保存为d9c.reg:
WindowsRegistryEditorVersion5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX]
"InstalledVersion"=hex:00,00,00,09,00,00,00,00
"Version"="4.09.00.0904"
@=""
"RC"="2"
"Debug"="0"
"PvtDXBuild"=dword:00000001
5.双击新建的d9c.reg,确定将信息导入注册表,至此操作全部完成。请双击桌面上的天][堂图标,同时默念“殷海萨保佑”。祝大家都能重归天堂。
PS.如果在登陆界面点击健康游戏提示的确定按钮后没有出现服务器列表,请退出游戏并重新运行(可能发生在调整游戏分辨率之后)。如果在LOADING.....画面停留了很久都无反应,但已经能听到游戏中的声音,可能是与服务器断开连接了,按一下回车即可退出。
特别感谢:DirectX9Uninstaller的作者GxV、Flexbeta论坛的Mictlantecuhtli
谨以此文献给在与盗版WinXP光盘的战斗中身负重伤的我的光驱,和重装系统时忘记备份而全军覆没的我的收藏夹T_T
|