Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows XP系統教程 >> XP系統基礎知識 >> Win XP無法安裝DX 9的解決方法

Win XP無法安裝DX 9的解決方法

日期:2017/1/24 11:57:08      編輯:XP系統基礎知識
想必很多朋友都使用過一份被稱為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所示
圖3
  
  
圖4

  改造過的DX 9.0c安裝程序終於不負眾望,成功在VLK版WindowsXP上安裝上了DirectX 9.0c,最後用Dxdiag的檢查結果也如圖5所示正確地標識為9.0c了。
圖5


  【寫在最後】

  筆者也曾試過用第三方軟件修改系統中DX的當前版本號以達到安裝的目的,但都沒有成功,鑒於這個問題涉及的知識非常廣泛,而且很可能是SP2集成時出現的問題,因此也就無法再進行深入研究了,希望此文能給同樣使用VLK版WindowsXP並同樣困惑著的朋友們提供一個方法,同時願意與大家進一步交流其它的安裝方法。
Copyright © Windows教程網 All Rights Reserved