请注意:本网站包含无障碍系统。 按 Control-F11 将网站调整为使用屏幕阅读器的视障人士;按 Control-F10 打开辅助功能菜单。

Regsvr32 使用方法及錯誤訊息說明

Regsvr32 使用方法及錯誤訊息說明

辨識您的設備
為確保此內容適用於您需要信息的設備,請輸入序列號或選擇您的產品。流灠產品

Regsvr32 使用方法及錯誤訊息說明

結論

您可以使用 Regsvr32 工具 (Regsvr32.exe) 來登錄和取消登錄 OLE 控制項,例如可自行登錄的 DLL 或 ActiveX 控制項 (OCX) 檔案。如果要疑難排解 Windows、Microsoft Internet Explorer 或其他程式的某些問題,可能需要使用這個工具。例如,「Microsoft 知識庫」中的下列文件需要您先使用 Regsvr32.exe 取消登錄 Wuv3is.dll 控制項,才能從 Windows Update 網站重新安裝 Wuv3is.dll 控制項: 241122 (http://support.microsoft.com/kb/241122/ ) 當您按一下 [產品更新] 時發生應用程式錯誤
如果控制項登錄失敗,或者您需要有關如何疑難排解失敗 OLE 控制項嘗試登錄的開發人員資訊,請檢視「Microsoft 知識庫」中的下列文件: 140346 (http://support.microsoft.com/kb/140346/ ) OLE 控制項登錄失敗的可能原因

回此頁最上方

其他相關資訊

Regsvr32.exe 是隨附在 Microsoft Internet Explorer 3.0 或較新版本、Windows 95 OEM Service Release 2 (OSR2) 或較新版本以及 Windows NT 4.0 Service Pack 5 (SP5) 或較新版本中,並且安裝在 System (Windows Me/Windows 98/Windows 95) 或 System32 (Windows NT/Windows XP/Windows Vista) 資料夾中。

注意 在 64 位元版本的 Windows 作業系統上,有兩種版本的 Regsv32.exe 檔案:

  • 64 位元版本的是 %systemroot%\System32\regsvr32.exe;
  • 32 位元版本的是 %systemroot%\SysWoW64\regsvr32.exe。


回此頁最上方

Regsvr32.exe 使用方法

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

/u - 取消登錄伺服器
/i - 當 DllInstall 與 /u 搭配使用呼叫 DLL 解除安裝時,呼叫 DllInstall 會將其傳送為選擇性 [cmdline]
/n - 不會呼叫 DllRegisterServer,此選項必須與 /i 搭配使用
/s - 無訊息;顯示無訊息方塊 (Windows XP 和 Windows Vista 新增功能)
當您使用 Regsvr32.exe 時,它會嘗試載入元件並呼叫其 DLLSelfRegister 函式。如果嘗試載入成功,Regsvr32.exe 會顯示對話方塊表示載入成功。如果嘗試載入不成功,則 Regsvr32.exe 會傳回錯誤訊息。這可能會包含 Win32 錯誤碼。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 193625 (http://support.microsoft.com/kb/193625/ ) WinInet 錯誤碼 (12001 到 12156)
例如,如果要手動登錄 Sample.ocx ActiveX 控制項,請在命令提示字元中輸入下列命令: c:\regsvr32.exe sample.ocx

回此頁最上方

Windows Vista 及較新版本中的 Regsvr32.exe 錯誤訊息

下列清單包含 RegSvr32 錯誤訊息和發生錯誤訊息的可能原因。

命令旗標 ""%1"" 無效。請檢閱命令的用法,然後再試一次。

無效的選項組合已透過命令列傳送至 regsvr32.exe。

只有在開啟 Microsoft Visual Studio OLE 自訂控制項專案時,此命令才有效。

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 位元的模組,就會發生這個錯誤。
回此頁最上方

Windows Vista 之前的 Regsvr32.exe 錯誤訊息

下列清單包含 RegSvr32 錯誤訊息和發生錯誤訊息的可能原因。

未被確認的旗標:/invalid_flag

您輸入無效的旗標或參數組合 (請參閱本文的<Regsvr32.exe 使用方法>一節)。

未指定 DLL 名稱。

您沒有加上 .dll 檔的檔名 (請參閱本文的<Regsvr32.exe 使用方法>一節)。

Dllname 已經載入,但是找不到 DllRegisterServer 或 DllUnregisterServer 進入點。

Dllname 不是 .dll 或 .ocx 檔。例如,輸入 regsvr32 wjview.exe 就會產生這個錯誤訊息。

Dllname 不是可執行檔,沒有登錄這個檔案類型的登錄輔助程式。

Dllname 不是可執行檔 (.exe、.dll 或 .ocx)。例如,輸入 regsvr32 autoexec.bat 就會產生這個錯誤訊息。

Dllname 已經載入,但是找不到 DllRegisterServer 或 DllUnregisterServer 進入點。

Dllname 可能並未匯出,或者記憶體中存有損毀的 Dllname 版本。請考慮使用 Pview 來偵測檔案,並加以移除。

Dllname 不可自行登錄,或者記憶體中存有損毀的版本。

例如,輸入 regsvr32 icwdial.dll 就會傳回這個錯誤訊息,這是因為 Icwdial.dll 檔案無法自行登錄所造成的。如果您懷疑記憶體中存有損毀的 Dllname 版本,請嘗試重新啟動電腦,或重新解壓縮原始版本的檔案。如果您使用 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 Resource Kit 中的 Kill 或 Pview 工具。如需詳細資訊,請按一下以檢視「Microsoft 知識庫」中的下列文件: 197155 (http://support.microsoft.com/kb/197155/ ) 如何刪除已遺棄的處理序
OleInitialize 失敗 (或 OleUninitialize 失敗)。

在呼叫所需的 COM 程式庫函數之前,Regsvr32 必須先初始化 COM 程式庫,並在關閉時解除初始化程式庫。如果嘗試初始化或解除初始化 COM 程式庫失敗了,就會出現這些錯誤訊息。例如,Ole32.dll 檔案可能遭到損毀,或是版本錯誤。

LoadLibrary(" Dllname") 失敗。GetlastError 傳回 0x00000485

出自 Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示「找不到執行這個應用程式所需的某個程式庫檔案」。例如,如果找不到 Missing.dll 檔案,輸入 regsvr32 missing.dll 就會傳回這個錯誤訊息。

LoadLibrary(" Dllname") 失敗。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 Dllname 失敗。傳回碼是: string

搜尋 Winerror.h 的 string
回此頁最上方

這篇文章中的資訊適用於:
  • Windows Vista 商用進階版
  • Windows Vista 商用入門版
  • Windows Vista Business N 64-bit Edition
  • Windows Vista 家用入門版
  • Windows Vista Home Basic N
  • Windows Vista Home Basic N 64-bit Edition
  • Windows Vista 家用進階版
  • Windows Vista Starter
  • Windows Vista 旗艦版
  • Windows Vista Business N
  • Windows Vista 商用入門 64 位元版
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional 64-Bit Edition (Itanium)
  • Microsoft Windows XP Professional N
  • Microsoft Windows XP Home Edition N
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows Millennium Edition
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 98 Second Edition
  • Microsoft Windows 95
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 4.0
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT 4.0 Service Pack 1
  • Microsoft Windows NT 4.0 Service Pack 2
  • Microsoft Windows NT 4.0 Service Pack 3
  • Microsoft Windows NT 4.0 Service Pack 4
  • Microsoft Windows NT 4.0 Service Pack 5
  • Microsoft Windows NT 4.0 Service Pack 6
  • Microsoft Windows NT 4.0 Service Pack 6a
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Starter
  • Windows 7 Ultimate
  • Windows 7 Enterprise N
  • Microsoft Win Home Prem 7 Win Home Prem N
  • Windows 7 Professional N
  • Windows 7 Starter N
  • Windows 7 Ultimate N


回此頁最上方Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。



文章編號:
249873

上次校閱:
2009年10月13日 - 版次: 8.2


別名 Id:1261110908446162
文件ID:HT069266
原始發布日期:05/24/2010
Last Modified Date:05/24/2010