DLL 不適用於 Windows 或包含錯誤是 Windows 的Bad Image 錯誤。Windows 找到了 DLL,但無法正確載入。該檔案可能已損毀、不相容,或由受損的應用程式或執行階段元件提供。這與找不到 DLL 的錯誤不同:找不到表示 Windows 無法找到檔案;Bad Image 表示它找到了一個無法載入的檔案。請利用 DLL 名稱與完整路徑識別其擁有元件,接著依序嘗試四種修復方式,從針對性元件修復到較全面的 Windows 檢查。

DLL 不適用於 Windows 或包含錯誤訊息

症狀

  • 應用程式或遊戲在啟動時顯示 Bad Image 對話方塊,通常會列出 DLL 與檔案路徑。
  • 某個程式在應用程式、遊戲、外掛程式或執行階段更新後無法執行。
  • 多個無關的程式都無法執行,這可能表示 Windows 元件或共用相依項目已受損。
  • 訊息可能會列出如 VCRUNTIME140.dll 、 MSVCP110.dll 或 X3DAUDIO1_7.dll 等檔案。修復前請記錄名稱與完整路徑。

快速診斷清單

  • 名稱以 VCRUNTIME、MSVCP 或 VCOMP 開頭: 此 DLL 通常屬於 Visual C++ 執行階段。即使顯示的路徑是 C:\Windows\System32 ,也請繼續執行方法 1。
  • 名稱以 D3DX、X3DAUDIO 或 XINPUT 開頭: 這通常與 DirectX 或遊戲必要元件有關。繼續執行方法 1,並修復遊戲或其官方安裝程式所列的元件。
  • DLL 位於受影響應用程式的安裝資料夾中: 繼續執行方法 2,並從原始來源修復或重新安裝該應用程式。
  • 多個無關應用程式失敗,或該 DLL 是 Windows 元件: 繼續執行方法 3,檢查 Windows 元件與受保護檔案。
  • 擁有元件不明確,或涉及多個相依項目類別: 繼續執行方法 4,透過引導式掃描檢查 DLL 與系統問題。

快速方法比較

方法 最適用於 效率 使用者操作量
修復所列的執行階段或元件 Visual C++、DirectX 或遊戲相依 DLL 高度針對性 中等
修復或重新安裝應用程式 位於單一應用程式資料夾的 DLL,或僅一個應用程式失敗 針對性 低至中等
修復 Windows 檔案 多個程式失敗或已確認為 Windows 元件 廣泛系統檢查 中等
Fionn DLL Fixer 擁有元件不明、已損毀、遺失或版本不符的 DLL 問題 引導式掃描與修復 低

方法 1:修復錯誤訊息所列的執行階段或元件

適用時機: DLL 名稱表示它屬於共用執行階段或遊戲元件。請根據 DLL 的擁有元件選擇修復方式,而非僅依資料夾位置判斷。

操作步驟

  1. 從 Bad Image 對話方塊複製 DLL 名稱與完整路徑。
  2. 將名稱對應至可能的提供者: VCRUNTIME*.dll 、 MSVCP*.dll 及 VCOMP*.dll 表示 Microsoft Visual C++ Redistributables; D3DX*.dll 、 X3DAUDIO*.dll 及 XINPUT*.dll 表示 DirectX 或遊戲必要元件。
  3. 使用受影響軟體發行者的官方安裝程式或支援說明,修復或重新安裝所列的執行階段或元件。
    Windows 設定中的已安裝應用程式頁面
  4. 若元件安裝程式要求,請重新啟動 Windows。

如何驗證

再次開啟受影響的應用程式。同一個 Bad Image 對話方塊應不會再次出現。若仍出現,請確認確切 DLL 名稱;若該檔案屬於應用程式本身,請繼續執行方法 2。

方法 2:修復或重新安裝受影響的應用程式

適用時機: 只有一個應用程式失敗,尤其是顯示的 DLL 位於該應用程式安裝目錄內。

操作步驟

  1. 關閉受影響的應用程式,並記錄 DLL 名稱與路徑。
  2. 若發行者提供維護或修復選項,請開啟該選項。
  3. 若無法修復或修復後仍無法解決錯誤,請從 Windows 設定解除安裝應用程式。
  4. 從原始發行者或商店來源重新安裝應用程式。

如何驗證

安裝後啟動同一個應用程式。修復成功時,應可進入正常的啟動畫面,且不會顯示原始 Bad Image 訊息。

方法 3:修復 Windows 元件與系統檔案

適用時機: 多個無關應用程式顯示 Bad Image 錯誤,或針對性的執行階段與應用程式修復後問題仍存在。

操作步驟

  1. 以系統管理員身分開啟命令提示字元。
  2. 執行下列命令並等待完成:
    DISM /Online /Cleanup-Image /RestoreHealth 命令提示字元中執行 DISM RestoreHealth 命令
  3. DISM 完成後執行下列命令:
    sfc /scannow
    命令提示字元中執行 SFC 掃描命令
  4. 重新啟動 Windows。

如何驗證

重新啟動後,測試受影響的應用程式與另一個先前失敗的程式。若只有原始應用程式仍失敗,則其執行階段或安裝檔較可能是擁有元件。

方法 4:使用 Fionn DLL Fixer 修復錯誤

適用時機: DLL 擁有元件不明確、手動診斷涵蓋多個執行階段類別,或您希望透過引導式掃描檢查偵測到的遺失、損毀及版本不符 DLL 與系統問題。這是可減少手動診斷步驟的建議選項。

操作步驟

  1. 啟動 Fionn DLL Fixer。軟體會自動掃描電腦中的 DLL 與系統問題,並在掃描完成時顯示偵測結果。 啟動 Fionn DLL Fixer
  2. 掃描完成後,按一下「修復」以自動開始修復所有偵測到的 DLL 與系統問題。 掃描完成後按一下修復以開始自動修復 DLL 與系統問題
  3. 請等待修復進行完成。在此期間,按鈕會變更為「修復中」,直到所有問題均已修復。 等待 Fionn DLL Fixer 完成修復
  4. 修復完成時,在確認對話方塊中按一下「確定」。若系統提示,請在確認問題是否解決前重新啟動電腦。 修復完成後在確認對話方塊中按一下確定
  5. 若重新啟動後問題仍然存在,請按一下「重新檢查」再進行一次掃描。若發現新問題,請再次按一下「修復」處理。 若問題仍存在,按一下重新檢查再次掃描

如何驗證

修復與任何必要的重新啟動後,開啟原始應用程式。若錯誤仍存在,請使用重新檢查;接著向應用程式開發者或官方支援提供確切 DLL 名稱、路徑、應用程式版本與掃描結果。

驗證清單

  • 受影響的應用程式可開啟,且未出現 Bad Image 或 DLL 對話方塊。
  • 原始 DLL 名稱與完整路徑未出現在新的錯誤訊息中。
  • 若問題影響多個程式,另一個先前失敗的應用程式也能正常開啟。
  • 元件安裝程式、修復命令或修復工具要求時,Windows 已重新啟動。

結論

請從 DLL 名稱與路徑開始,再修復實際提供該檔案的元件。Visual C++ 與 DirectX 名稱通常需要修復執行階段或必要元件;位於單一應用程式資料夾內的 DLL 通常需要修復應用程式。當多個應用程式失敗或涉及 Windows 元件時,請使用 DISM 與 SFC。若診斷仍不明確, Fionn DLL Fixer 可掃描並修復偵測到的 DLL 與系統問題,且提供重新檢查選項。重新開啟受影響程式以確認成功。若對話方塊仍出現,請向發行者提供完整訊息、DLL 路徑與應用程式版本。

常見問題

Bad Image DLL 錯誤代表什麼?

Windows 已找到 DLL,但無法正確載入。原因可能是檔案損毀、版本不相容,或提供該檔案的應用程式或元件已受損。

顯示 System32 路徑是否表示應先執行 DISM 與 SFC?

不是。資料夾位置本身無法識別 DLL 擁有元件。Visual C++ 執行階段 DLL 可能儲存在 System32,因此適用時請先查看檔名並修復其提供者。

哪個執行階段可能提供 VCRUNTIME140.dll 或 MSVCP110.dll?

VCRUNTIME 與 MSVCP 名稱通常與 Microsoft Visual C++ Redistributables 有關。請依受影響軟體發行者的官方必要元件或支援指引,選擇相符的執行階段。

我應該手動替換 DLL 嗎?

請勿使用未經驗證的獨立 DLL 下載檔。修復擁有該檔案的執行階段、應用程式或 Windows 元件,更可能還原一組相容的檔案。

我應向官方支援提供哪些資料?

請提供完整錯誤文字、DLL 檔名、顯示的路徑、受影響應用程式名稱與版本,以及已嘗試的修復步驟。