啟動程式彈出「應用程式或 DLL C:\xxx\yyy.dll 不是有效的 Windows 映像」,表示該 DLL 檔案損壞、版本不符、架構不匹配 (x86/x64) 或註冊表載入路徑錯誤。善用內建 dxdiag (DirectX 診斷工具) 可快速定位問題 DLL 並指導補救。
dxdiag → Enter 開啟 DirectX 診斷工具。d3d9.dll, d3d11.dll, xinput1_3.dll, XAudio2_7.dll 等) 標註 「缺少」/「版本不符」/「驗證失敗」,即為問題 DLL。| DLL 類型 | 來源/屬於 | 補救方法 |
|---|---|---|
| DirectX 核心 (d3d9/10/11, dxgi 等) | Windows 系統 | 管理員 CMD:sfc /scannow 修復;或重新安裝 DirectX End-User Runtime (Jun 2010) 覆蓋修復 |
| Visual C++ 執行階段 (msvcrxxx.dll, msvcpxxx.dll, vcruntimexxx.dll) | VC++ Redist | 下載安裝對應版本 VC++ Redistributable (2005-2022 x86/x64 全裝) |
| DirectX 擴充 (D3DX9_xx.dll, D3DX10_xx.dll, D3DX11_xx.dll, XAudio2_x.dll, XInput1_x.dll) | DirectX SDK / 遊戲內建 | 安裝 DirectX End-User Runtime (Jun 2010) — 含所有 D3DX/XAudio/XInput 版本 |
| 遊戲/軟體專用 DLL | 應用程式目錄 | 重新安裝該軟體/遊戲;或從可信來源下載同版本 DLL 放入軟體目錄 (非 System32) |
| 系統核心 (kernel32.dll, user32.dll, ntdll.dll 等) | Windows 核心 | sfc /scannow + DISM /RestoreHealth;嚴重者重灌 |
System32/SysWOW64,**嚴禁手動複製 DLL 到系統目錄** (版本衝突、簽名驗證失敗、破壞補丁機制)。Process Name = 目標程式 + Result = NAME NOT FOUND / BAD IMAGE,精確捕獲載入失敗瞬間的路徑與錯誤碼。用 dxdiag 做初篩、sfc /scannow 修系統、官方 Runtime 修運行庫、應用目錄放私有 DLL,四步走解決 95% 「無效 Windows 映像」錯誤,拒絕網路下載單一 DLL 覆蓋系統目錄的高風險行為。