若要在 Windows 註冊 DLL 檔案,請從以系統管理員身分執行的命令提示字元使用內建 Regsvr32 工具,並選擇與 DLL 架構相符的版本。這只適用於符合資格且可自行註冊的 COM DLL。Regsvr32 並非通用的 DLL 修復工具。若 Windows 表示缺少 Visual C++、DirectX 或一般應用程式 DLL,請改為修復或重新安裝受影響的軟體。本指南涵蓋直接註冊、重新註冊先前已註冊的 COM 元件,以及用於處理更廣泛 DLL 問題的獨立診斷途徑。

何時應該註冊 DLL?

情況是否應該使用 Regsvr32?
軟體廠商明確指示您註冊 COM DLL是
文件說明該 DLL 支援自行註冊是
找不到 DLL通常否
缺少 Visual C++ 或 DirectX DLL否
檔案是一般應用程式相依 DLL不一定;它可能不支援註冊
您不知道 DLL 的用途或是否支援註冊先確認其來源與預定用途

註冊 DLL 前,請從軟體廠商或其安裝程式取得檔案、備妥完整路徑,並關閉受影響的應用程式。若安裝程式提供修復或重新安裝選項,請針對遺失或被替換的應用程式檔案採用該方式。

快速方法比較

方法最適用於效率使用者操作量
使用 Regsvr32 註冊已知需要註冊的可自行註冊 COM DLL高中等
重新註冊 COM DLL先前已註冊且疑似有過時註冊資訊的元件中等中等
使用 Fionn DLL Fixer 診斷DLL 遺失、損毀、版本不符或與系統路徑有關的症狀取決於偵測到的問題低

方法 1:使用 Regsvr32 註冊 DLL

適用時機:只有在可信任的廠商文件確認檔案為可自行註冊的 COM DLL,且要求您註冊時,才使用此方法。

  1. 開啟開始功能表,搜尋命令提示字元,然後選取以系統管理員身分執行。
    以系統管理員身分執行命令提示字元
  2. 選擇與 DLL 相符的註冊工具,而不只是依據 Windows 安裝架構。在 64 位元 Windows 上,64 位元 DLL 使用 C:\Windows\System32\regsvr32.exe,32 位元 DLL 使用 C:\Windows\SysWOW64\regsvr32.exe。
  3. 執行相符的指令,並以 DLL 的完整路徑取代範例。
    C:\Windows\System32\regsvr32.exe "C:\Path\To\Example.dll"

    若要在 64 位元 Windows 上註冊 32 位元 DLL,請使用:

    C:\Windows\SysWOW64\regsvr32.exe "C:\Path\To\Example.dll"
  4. 確認結果顯示 DllRegisterServer succeeded,然後重新開啟受影響的應用程式,測試使用此元件的功能。

方法 2:重新註冊先前已註冊的 COM DLL

適用時機:僅適用於先前已註冊、可自行註冊,且可能有不正確或過時註冊資訊的 COM 元件。這不是方法 1 失敗後的預設下一步。

  1. 以系統管理員身分開啟命令提示字元,並選擇與 DLL 相符的 32 位元或 64 位元 Regsvr32 執行檔。
  2. 在相符的 Regsvr32 指令中加入 /u,取消註冊已知元件。
    regsvr32 /u "C:\Path\To\Example.dll"
    命令提示字元中的 Regsvr32 指令
  3. 使用相符的執行檔,且不加 /u 參數,再次註冊同一個 DLL。
    regsvr32 "C:\Path\To\Example.dll"
  4. 重新啟動受影響的應用程式,並重複先前產生註冊相關錯誤的操作。

驗證:元件應成功註冊,且受影響功能應能載入,不再出現先前的註冊錯誤。若未成功,請保留完整錯誤訊息。

方法 3:使用 Fionn DLL Fixer 診斷並修復 DLL 問題

適用時機:此獨立方法適合處理 DLL 遺失、損毀、版本不符或與 System32 路徑有關的問題。它不能取代廠商指示的 COM Regsvr32 註冊程序。

  1. 啟動 Fionn DLL Fixer。它會掃描電腦中的 DLL 與系統問題,並在掃描完成後顯示偵測結果。啟動 Fionn DLL Fixer
  2. 掃描完成後,按一下修復,開始修復所有偵測到的 DLL 與系統問題。掃描完成後,按一下修復以開始自動修復偵測到的 DLL 與系統問題
  3. 等待修復程序完成。按鈕會變更為修復中,直到偵測到的問題修復完成。等待修復程序進行中
  4. 修復完成時,在確認對話方塊中按一下確定。若系統提示,請先重新啟動電腦再進行測試。修復完成後,在確認對話方塊中按一下確定
  5. 若重新啟動後問題仍存在,按一下重新檢查再次掃描。若出現新問題,請再次按一下修復。若問題在重新啟動後仍存在,按一下重新檢查以再次掃描

驗證:重新檢查後,開啟受影響的應用程式或遊戲,確認原先的 DLL 遺失或載入症狀是否已改變。

常見 Regsvr32 錯誤及其含義

Regsvr32 訊息含義與下一步
DllRegisterServer succeeded註冊成功。請測試受影響的功能。
DllRegisterServer was not found此 DLL 可能不支援自行註冊。請查看廠商指示。
The module failed to load請檢查路徑、相依模組,以及 32 位元或 64 位元架構是否相符。
The specified module could not be found目標 DLL 可能存在,但其某個相依項目可能無法載入。
0x80070005這通常表示存取遭拒問題。請以系統管理員身分執行命令提示字元,並確認您有權使用此元件。

如需指令選項與 Microsoft 使用的術語,請參閱 Microsoft 的 Regsvr32 參考資料。當找不到進入點時,請勿反覆嘗試不相關的 DLL 檔案。

  • 架構錯誤:請讓 Regsvr32 與 DLL 架構相符。
  • 未加引號的路徑:路徑包含空格時,請以引號括住。
  • 未以系統管理員身分執行:進行全系統註冊時,請以系統管理員身分啟動命令提示字元。
  • 將註冊當成遺失檔案的修復方式:請改為重新安裝或修復來源應用程式。

結論

請先確認 DLL 是由廠商識別、可自行註冊的 COM 元件。接著執行與 DLL 架構相符的 Regsvr32 執行檔,確認成功訊息,並測試受影響的應用程式。只應重新註冊先前已註冊且已知支援取消註冊的元件。對於 DLL 遺失、損毀、版本不符或與相依項目有關的症狀,Fionn DLL Fixer 提供獨立的掃描、修復與重新檢查流程。若錯誤仍然存在,請利用完整錯誤訊息與軟體廠商的修復指示判斷下一步。

常見問題

每個 DLL 檔案都能註冊嗎?

不能。Regsvr32 適用於公開必要註冊進入點的可自行註冊 COM DLL。許多一般 DLL 並不支援。

在 64 位元 Windows 上,應使用 32 位元還是 64 位元 Regsvr32?

請選擇與 DLL 相符的版本。64 位元 DLL 使用 System32,32 位元 DLL 使用 SysWOW64。

DLL 已存在,為何 Regsvr32 顯示找不到指定的模組?

此訊息可能是指目標 DLL 所需的相依項目,而不只是目標 DLL 本身。請檢查檔案來源、架構與應用程式修復選項。

應該註冊 DLL 來修復缺少的 Visual C++ 或 DirectX DLL 嗎?

不應該。這類錯誤通常需要使用受影響應用程式的安裝程式、修復選項或受支援的執行階段安裝程式,而非 COM 註冊。

註冊 DLL 後需要重新啟動 Windows 嗎?

通常只需重新啟動受影響的應用程式。只有在廠商要求,或程序可能仍保留較舊元件狀態時,才重新啟動 Windows。