如何解決這個奇怪的Win7下DirectX 9.0C異常問題?

系統環境:ThinkPad預裝Win7 64位家庭普通版

遊戲:2010發行的《拿破崙:全面戰爭》

運行遊戲,提示「d3dx9_40.dll文件丟失」,根據網上資料,為Win7缺失DirectX 9.0C文件所致,可通過安裝DirectX 9.0C或將d3dx9_40.dll放到system32文件夾(或遊戲目錄)解決。將文件放到system32後,嘗試運行regsvr32 d3dx9_40.dll註冊文件,提示「模塊d3dx9_40.dll已載入,但找不到入口點DllRegisterServer」。

於是安裝DirectX 9.0C,遊戲錯誤提示變為「IGameExplorer could not verify access. Napoleon: Total War will now
exit」。

將系統還原至出廠設置,驚奇地發現將32位版本的d3dx9_40.dll文件放入遊戲目錄後(沒註冊,直接放入,系統是64位),遊戲可正常運行,而64位版本則不行。然而好景不長,玩了幾次後,某次登陸系統,提示「Windows正在配置」(上一次登陸我並沒有安裝任何補丁,系統也沒有設置自動更新),登入後「IGameExplorer could not verify access. Napoleon: Total War will now
exit」重現。再安裝DirectX 9.0C,問題如故。再將系統還原一次,還是不行,碰到莫名的「Windows正在配置」就開始玩不了。

初步懷疑是Win7系統自動修改了某項設置,導致遊戲無法正常讀取d3dx9_40.dll。但苦於系統軟體知識缺乏,不知如何入手。望前輩指點一二。

P.s. 原版Win7系統新裝時會通過索引和預讀提升系統性能,不知上述異常是否會與之有關。題主是一枚工科生,也是一枚軍事愛好者,學習之餘偶爾玩玩全戰,給之前充實但略顯單調的生活帶來了滋潤。希望知友可以幫忙邀請朋友作答。


這一點都不異常,就是個最常見的缺少dll。只要拷過去就好,不需要regsvr。那就是個最基本的dll。

但需要注意的是,在64位的系統上,System32放的是64位的dll,SysWOW64放的是32位的dll。


推薦閱讀:

以希特勒為主角的galgame會是什麼樣的?
如何評價遊戲解說 Mr.Quin?
如果存在《真·水滸無雙》這款遊戲,大家有哪些有趣的聯想?
為什麼國內沒有誕生類似於steam一樣的遊戲平台?
為什麼國內fps單機遊戲不能像使命召喚那樣以歷史為素材來創作?

TAG:遊戲 | MicrosoftWindows | DirectX |