您现在的位置: IT专家网 > WinSystem子站 > 系统故障诊断
Regsvr32 的用法和错误信息说明
对于那些可以自行注册的对象链接和嵌入 (OLE) 控件(例如动态链接库 (DLL) 文件或 ActiveX 控件 (OCX) 文件),您可以使用 Regsvr32 工具 (Regsvr32.exe) 来将它们注册和取消注册……
例如,键入 regsvr32 icwdial.dll 后就会返回该错误信息,因为 Icwdial.dll 文件不能自行注册。如果您怀疑内存中有损坏的 Dllname 版本,请尝试重新启动计算机,或重新提取该文件的原始版本。如果您运行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 资源工具包 中的 Kill 或 Pview 工具。有关其他信息,请单击以查看以下 Microsoft 知识库文章:
197155 (http://support.microsoft.com/kb/197155/) 如何终止孤立进程
OleInitialize 失败(或 OleUninitialize 失败)。
Regsvr32 必须先初始化 COM 库,然后才能调用所需的 COM 库函数并在关闭时撤消对该库的初始化。如果尝试对 COM 库进行初始化或撤消初始化时失败,就会出现这些错误信息。比方说,Ole32.dll 文件可能已经损坏,或者其版本有误。
LoadLibrary("Dllname") 失败。GetlastError 返回 0x00000485
在 Winerror.h 中,0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示“找不到运行该应用程序所需的某个库文件”。例如,键入 regsvr32 missing.dll 后,如果找不到 Missing.dll 文件,就会返回该错误信息。
LoadLibrary("Dllname") 失败。GetLastError 返回 0x00000002
在 Winerror.h 中,0x00000002 = 2 (ERROR_FILE_NOT_FOUND),表示“系统找不到指定的文件”。换言之,系统找不到相关的 DLL。例如,如果键入 regsvr32 icwdial.dll,而此时缺少 Tapi32.dll(依赖项),就会返回该错误信息。
LoadLibrary("dskmaint.dll") 失败。GetLastError 返回 0x000001f
在 Winerror.h 中,0x000001f = 31 (ERROR_GEN_FAILURE),表示“附加到系统上的设备不能正常工作”。如果您尝试注册 Win16 .dll 文件,就会发生此现象。例如,键入 regsvr32 dskmaint.dll 会返回该错误信息。
Dllname 中的 DllRegisterServer(或 DllUnregisterServer)失败。返回代码是:string
在 Winerror.h 中搜索 string。
Regsvr32.exe 和依赖项
RegSvr32.exe 依赖于 Kernel32.dll、User32.dll 和 Ole32.dll 文件(在 Windows NT 中,还依赖于 Msvcrt.dll 和 Advapi32.dll 文件)。Regsvr32.exe 会加载您尝试注册或撤消注册的文件及其所有依赖项。如果缺少必需的文件或者这些文件已损坏,该过程可能会失败。
您可以使用 Depends.exe 来确定您尝试注册或撤消注册的文件的依赖项。在 Microsoft Windows 98 资源工具包 和 Microsoft Windows NT 4.0 资源工具包 支持工具中都提供了 Depends.exe。
- 本文关键词:

