Regsvr32用法和錯誤消息的說明

Regsvr32用法和錯誤消息的說明

   Regsvr32 用法和錯誤消息的說明對於那些能夠自行註冊的對象連接和嵌入 (OLE) 控件,例如動態連接庫 (DLL) 文件或 ActiveX 控件 (OCX) 文件,您能夠使用 Regsvr32 工具 (Regsvr32.exe) 來將它們註冊和取消註冊。 Regsvr32.exe 的用法 RegSvr32.exe 具備如下命令行選項: Regsvr32[/n][/i[:cmdline]]dllname/u- Unregisterserver

   /i-CallDllInstallpassingitanoptional[cmdline];whenusedwith /ucallsdlluninstall/n- donotcallDllRegisterServer;thisoptionmustbeusedwith/i 當您使用 Regsvr32.exe 時,它 會嘗試加載該組件並調用它的 DLLSelfRegister 函數。若是此嘗試成功, Regsvr32.exe 會顯示一個指示成功的對話框。若是此嘗試失 敗, Regsvr32.exe 會返回一條錯誤消息,其中可能會包括一個 Win32 錯誤代碼。要查看 Win32 錯誤代碼的列表,請參見下面的 MicrosoftWeb 站點: [url]http://msdn.microsoft.com/librar...n32_error_codes.asp[/url] 如,要手動註冊 Sample.ocxActiveX 控件,請在 MS-DOS 提示符處鍵入如下命令: c: egsvr32.exesample.ocxRegsvr32.exe 錯誤消息如下列表介紹了 RegSvr32 錯誤消息和可能的緣由。 Unrecognizedflag:/invalid_flag 鍵入的標誌或開關組合無效(請參閱本文中的 「Regsvr32.exe 的用法 一節)。 NoDLLnamespecified. 未包括 .dll 文件名(請參閱本文中的 「Regsvr32.exe 的用法 一節)。 Dllnamewasloaded,buttheDllRegisterServerorDllUnregisterServerentrypointwasnotfound.Dllname 不是 .dll .ocx 文件。例如,鍵入 regsvr32wjview.exe 就會生成該錯誤消息。 Dllnameisnotanexecutablefileandnoregistrationhelperisregisteredforthisfiletype.Dllname 不是可執行文件( .exe .dll .ocx )。例如,鍵入 regsvr32autoexec.bat 就會生成該錯誤消息。 Dllnamewasloaded,buttheDllRegisterServerorDllUnregisterServerentrypointwasnotfound.Dllname 可能未導出,或者內存中可能有損壞的 Dllname 版本。請考慮使用 Pview 來檢測該文件並刪除它。 Dllnameisnotself- registerableoracorruptedversionisinmemory. 例如,鍵入 regsvr32icwdial.dll 後就會返回該 錯誤消息,由於 Icwdial.dll 文件不能自行註冊。若是您懷疑內存中有損壞的 Dllname 版本,請嘗試從新啓動計算機,或從新提取該文件的原始版 本。若是您運行的是 WindowsNT ,可能須要使用 MicrosoftWindowsNTServer4.0 資源工具包中的 Kill Pview 工具。 有關其餘信息,請單擊以查看如下 Microsoft 知識庫文章: 197155 如何終止孤立進程 OleInitializefailed(orOleUninitializefailed).Regsvr32 必須先初始化 COM 庫,而後才能調用所需 COM 庫函數並在關閉時撤消對該庫的初始化。若是對 COM 庫進行初始化或撤消初始化的嘗試失敗,就會出現這些錯誤消息。例如, Ole32.dll 文件可 能已經損壞,或者其版本有誤。 LoadLibrary("Dllname")failed.GetlastErrorreturns0x00000485 Winerror.h 中, 0x00000485=1157(ERROR_DLL_NOT_FOUND) ,表示 找不到運行該應用程序所需的某個庫文件 。例如,鍵入 regsvr32missing.dll 後,若是找不到 Missing.dll 文件,就會返回該錯誤消息。 LoadLibrary("Dllname")failed.GetLastErrorreturns0x00000002 Winerror.h 中, 0x00000002=2(ERROR_FILE_NOT_FOUND) ,表示 系統找不到指定的文件 。換言之,系統找不到相關的 DLL 。例如,如 果鍵入 regsvr32icwdial.dll ,而此時缺乏 Tapi32.dll (依賴項),就會返回該錯誤消息。 LoadLibrary("dskmaint.dll")failed.GetLastErrorreturns0x000001f Winerror.h 中, 0x000001f=31(ERROR_GEN_FAILURE) ,表示 附加到系統上的設備不能正常工做 。若是您嘗試註冊 Win16.dll 文件,就會發生此現象。例如,鍵入 regsvr32dskmaint.dll 會返回該錯誤消息。 DllRegisterServer(orDllUnregisterServer)inDllnamefailed. 返回代碼是:字符串在 Winerror.h 中搜索字符串。 Regsvr32.exe 和依賴項 RegSvr32.exe 依賴於 Kernel32.dll User32.dll Ole32.dll 文件(在 WindowsNT 中,還依賴於 Msvcrt.dll Advapi32.dll 文件)。 Regsvr32.exe 會加載您嘗 試註冊或撤消註冊的文件及其全部依賴項。若是缺乏必需的文件或者它們已損壞,該進程可能會失敗。您能夠使用 Depends.exe 來肯定您嘗試註冊或撤消 註冊的文件的依賴項。在 MicrosoftWindows98 資源工具包和 MicrosoftWindowsNT4.0 資源工具包支持工具中都提供了 Depends.exe 247024ToolsIncludedwiththeMicrosoftWindows98ResourceKit
相關文章
相關標籤/搜索