文章編號: 249873 - 檢視此文章適用的產品。
如果本文未說明您收到的錯誤訊息,您可從事件和錯誤訊息中心網站取得詳細錯誤訊息說明、建議動作與其他支援資源。
全部展開 | 全部摺疊

結論

Regsvr32 是可登錄和取消登錄 OLE 控制項的命令列公用程式,例如 Windows 登錄中的 DLL 和 ActiveX 控制項。 Regsvr32.exe 安裝於 Windows XP 和 Windows 更新版本的 %systemroot%\System32 資料夾。

注意 在 64 位元版本的 Windows 作業系統上,有兩種版本的 Regsv32.exe 檔案:
  • 64 位元版本的是 %systemroot%\System32\regsvr32.exe;
  • 32 位元版本的是 %systemroot%\SysWoW64\regsvr32.exe。

Regsvr32 命令語法

RegSvr32.exe 具有下列命令列選項:
Regsvr32 [/u] [/n] [/i[:cmdline]] <dllname>

/u - 取消登錄伺服器
/i - 當 DllInstall 與 /u 搭配使用呼叫 DLL 解除安裝時,呼叫 DllInstall 會將其傳送為選擇性 [cmdline]
/n - 不會呼叫 DllRegisterServer,此選項必須與 /i 搭配使用
/s – 無訊息;不顯示任何訊息方塊

常見的 Regsvr32 錯誤解決方案

當您收到 Regsvr32 錯誤時,請嘗試下列其中一種方法:
  • 方法 1:從提高權限的命令提示字元重新執行 Regsvr32 命令

    如果要開啟提高權限的命令提示字元,請依照下列步驟執行:
    Windows 8.1 和 Windows 8
    從螢幕右邊邊緣撥動進來,然後點選 [搜尋]。或者如果您使用滑鼠,請指向螢幕右下角,然後按一下 [搜尋]。在 [搜尋] 方塊中輸入命令提示字元,在 [命令提示字元] 上按右鍵,然後按一下 [以系統管理員身分執行]。如果出現要求您輸入系統管理員密碼或確認的提示,請輸入密碼或按一下 [允許]
    Windows 7 和 Windows Vista
    按一下 [開始],在 [搜尋] 方塊中輸入命令提示字元cmd,在 [命令提示字元] 上按右鍵,然後按一下 [以系統管理員身分執行]。如果出現要求您輸入系統管理員密碼或確認的提示,請輸入密碼或按一下 [允許]
    Windows XP
    以系統管理員帳戶或具有系統管理員權限的帳戶登入,然後開啟 [命令提示字元] 視窗。
  • 方法 2:使用 32 位元版本的 Regsvr32,在 64 位元版本的 Windows 上登錄 32 位元 DLL

    如果您在 64 位元版本的 Windows 上登錄 32 位元 DLL 時發生錯誤,請依照下列步驟執行:
    1. 請開啟提高權限的命令提示字元。
    2. 如果 32 位元 DLL 位於 %systemroot%\System32 資料夾,請將其移至 %systemroot%\SysWoW64 資料夾。
    3. 執行下列命令:
      %systemroot%\SysWoW64\regsvr32 <DLL 的完整路徑>

Regsvr32 錯誤訊息

Windows Vista 和 Windows 更新版本中的 Regsvr32 錯誤訊息

摺疊此圖像展開此圖像
assets folding start collapsed
下列表格包含 RegSvr32 錯誤訊息和可能原因:
摺疊此表格展開此表格
錯誤訊息原因
命令旗標 ""%1"" 無效。請檢閱命令的使用方式,然後再試一次。無效的選項組合已透過命令列傳送至 regsvr32.exe。
只有在開啟 Microsoft Visual Studio OLE ActiveX 控制項專案時,此命令才有效。Visual Studio 已叫用 Regsvr32.exe,但並未在命令列中指定任何模組。
如果要登錄模組,您必須提供二進位名稱。已叫用 Regsvr32.exe,但並未在命令列中指定任何模組。
無法執行 OleInitialize 命令。您的電腦可能沒有足夠的記憶體。請關閉任何已開啟的程式,然後再試一次。Regsvr32 必須先初始化 COM 程式庫,才能呼叫所需 COM 程式庫函式,並在關閉時解除初始化程式庫。如果嘗試初始化或解除初始化 COM 程式庫失敗,就會出現這些錯誤訊息。
無法載入模組 ""%1""。\n\n請確定二進位檔儲存在指定的路徑,或進行偵錯以檢查與二進位或相依 .DLL 檔案有關的問題。\n\n%2。載入在命令列中指定的模組時發生錯誤。錯誤文字會顯示為訊息的一部分。
已載入模組 ""%1"",但找不到進入點 %2。\n\n請確定 ""%1"" 為有效的 DLL 或 OCX 檔案,然後再試一次Regsvr32.exe 在命令列指定的模組中找不到所需進入點。如果未正確地從模組匯出進入點或模組並非 .DLL 或 .OCX 檔案,就會發生此問題。
已載入模組 ""%1"",但呼叫 %2 失敗,且錯誤碼為 %3。\n\n如需有關這個問題的詳細資訊,請使用錯誤碼作為搜尋字詞進行線上搜尋。當 regsvr32.exe 在命令列指定的模組中叫用進入點時發生錯誤。錯誤碼會顯示為訊息的一部分。
模組 ""%1"" 可能無法與您正在執行的 Windows 版本相容。請檢查模組是否與 regsvr32.exe 的 x86 (32 位元) 或 x64 (64 位元) 版本相容。例如,如果 regsvr32.exe 在 x86 版本的電腦上執行,且在命令列中指定的模組為 64 位元的模組,就會發生這個錯誤。
摺疊此圖像展開此圖像
assets folding end collapsed

Windows XP 中的 Regsvr32.exe 錯誤訊息

摺疊此圖像展開此圖像
assets folding start collapsed
下列表格包含 RegSvr32 錯誤訊息和可能原因:
摺疊此表格展開此表格
錯誤訊息原因
無法辨認的旗標:/invalid_flag您輸入的旗標或參數組合無效。
未指定 DLL 名稱。您未包含 .dll 檔案名稱。
Dll_Name 已經載入,但是找不到 DllRegisterServer 或 DllUnregisterServer 進入點。指定的 Dll 名稱不是 .dll 或 .ocx 檔案。例如,輸入 regsvr32 wjview.exe 就會產生這個錯誤訊息。
Dll_Name 不是可執行檔,沒有登錄這個檔案類型的登錄協助程式。指定的 Dll 名稱不是可執行檔 (.exe、.dll 或 .ocx)。例如,輸入 regsvr32 autoexec.bat 就會產生這個錯誤訊息。
Dll_Name 不可自行登錄,或者記憶體中存有損毀的版本。例如,輸入 regsvr32 icwdial.dll 就會傳回這個錯誤訊息,這是因為 Icwdial.dll 檔案無法自行登錄。如果您懷疑記憶體中存有損毀的 Dllname 版本,請嘗試將電腦重新開機,或重新解壓縮原始版本的檔案。
OleInitialize 失敗 (或 OleUninitialize 失敗)Regsvr32 必須先初始化 COM 程式庫,才能呼叫所需 COM 程式庫函式,並在關閉時解除初始化程式庫。如果嘗試初始化或解除初始化 COM 程式庫失敗,就會出現這些錯誤訊息。例如,Ole32.dll 檔案可能遭到損毀,或是版本錯誤。
LoadLibrary("Dll_Name") 失敗。GetlastError 傳回 0x00000485出自 Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND)。這表示「找不到執行這個應用程式所需的某個程式庫檔案」。例如,如果找不到 Missing.dll 檔案,輸入 regsvr32 missing.dll 就會傳回這個錯誤訊息。
LoadLibrary("Dll_Name") 失敗。GetLastError 傳回 0x00000002出自 Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND)。這表示「系統找不到指定的檔案」。也就是說,找不到相依的 DLL。例如,找不到 Tapi32.dll (相依性) 時,輸入 regsvr32 icwdial.dll 就會傳回這個錯誤訊息。
LoadLibrary("dskmaint.dll") 失敗。GetLastError 傳回 0x000001f出自 Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE)。這表示「附加到系統的某個裝置失去作用」。如果您嘗試登錄 Win16 .dll 檔案,可能就會發生這個問題。例如,輸入 regsvr32 dskmaint.dll 就會傳回這個錯誤訊息。
DllRegisterServer (or DllUnregisterServer)in Dll_Name 失敗。傳回碼是:string在 Winerror.h 檔案中搜尋訊息中指定的 string
摺疊此圖像展開此圖像
assets folding end collapsed

屬性

文章編號: 249873 - 上次校閱: 2014年3月18日 - 版次: 7.0
這篇文章中的資訊適用於:
  • Windows Vista 商用進階版
  • Windows Vista 商用入門版
  • Windows Vista 家用入門版
  • Windows Vista 家用進階版
  • Windows Vista 旗艦版
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Tablet PC Edition
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Ultimate
  • Windows 8
  • Windows 8 Enterprise
  • Windows 8 Pro
  • Windows 8.1
  • Windows 8.1 Enterprise
  • Windows 8.1 Pro
關鍵字:?
kbresolve kbenv kberrmsg kbinfo kbkern32dll KB249873
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com