解決DirectX9.0c安裝失敗一例
症狀:執行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.....畫面停留了很久都無反應,但已經能聽到遊戲中的聲音,可能是與伺服器中斷連線連接了,按一下Enter鍵即可結束。
特別感謝:DirectX9Uninstaller的作者GxV、Flexbeta論壇的Mictlantecuhtli
謹以此文獻給在與盜版WinXP光碟的戰鬥中身負重傷的我的光碟,和重裝系統時忘記制作備份而全軍覆沒的我的我的最愛T_T
|