Regsvr32的用法和错误信息说明

Regsvr32的用法和错误信息说明,第1张

Regsvr32的用法和错误信息说明,第2张

对于那些可以自行注册的对象链接和嵌入(OLE)控件(如动态链接库(DLL)文件或ActiveX控件(OCX)文件),可以使用Regsvr32工具(Regsvr32.exe)来注册和注销它们。这可能是解决Windows、Microsoft Internet Explorer或其他程序的一些问题所必需的。例如,下面的Microsoft知识库文章要求您从Windows Update网站重新安装Wuv3is.dll控件。首先,使用Regsvr32.exe注销控件:
Microsoft Internet Explorer 3.0或更高版本、Windows 95 OEM Service Release 2(OSR2)或更高版本中提供的Regsvr32.exe.Regsvr32.exe以及Windows NT 4.0 Service Pack 5 (SP5)或更高版本安装在System (Windows Me/98/95)或System32 (Windows NT)文件夹中。

Regsvr32.exe的用法

RegSvr32.exe有以下命令行选项:

regsvr 32[/u][/n][/I[:cmdline]]dllname

/u -注销服务器

/i -调用DllInstall并向其传递可选的[cmdline];

当与/u一起使用时,调用dll卸载

/n -不调用DllRegisterServer该选项必须

与/i一起使用

当您使用Regsvr32.exe时,它将尝试加载组件并调用其DLLSelfRegister函数。如果尝试成功,Regsvr32.exe将显示一个成功对话框。如果此尝试失败,Regsvr32.exe将返回一条错误消息,其中可能包含Win32错误代码。有关Win32错误代码的列表,请访问下面的Microsoft网站:

http://www.microsoft.com/technet/treeview/default.asp? URL =/TechNet/support/events errors . ASP(http://www.microsoft.com/technet/treeview/default.asp? URL =/TechNet/support/events errors . ASP)

例如,要手动注册Sample.ocx ActiveX控件,请在MS-DOS提示符下键入以下命令:

c:\regsvr32.exe sample.ocx

Regsvr32.exe错误消息

下面的列表描述了RegSvr32错误消息和可能的原因。

无法识别的标志:/invalid_flag

输入的标志或开关组合无效(请参考本文中的“Regsvr32.exe的用法”一节)。

没有指定DLL名称。

的文件名。不添加dll(请参考本文“Regsvr32.exe的用法”一节)。

已加载Dllname,但找不到DllRegisterServer或DllUnregisterServer入口点。

Dllname不是. dll或。ocx文件。例如,键入regsvr 32 wjview.exe将生成此错误消息。

Dllname不是可执行文件,并且没有此文件类型的注册帮助程序。

Dllname不是可执行文件(。exe、exe . dll或dll。ocx)。例如,键入regsvr32 autoexec.bat将生成此错误信息。

已加载Dllname,但找不到DllRegisterServer或DllUnregisterServer入口点。

Dllname可能无法导出,或者内存中存在已损坏的Dllname版本。建议使用Pview检测该文件并删除。

Dllname无法注册自身,或者内存中有损坏的版本。

例如,键入regsvr 32 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失败)。

SVR 32必须首先初始化COM库,然后它可以调用所需的COM库函数,并在关闭时取消初始化该库。如果尝试初始化或取消初始化COM库失败,将出现这些错误信息。例如,Ole32.dll文件可能被损坏或其版本是错误的。

LoadLibrary("Dllname ")失败。GetlastError返回0x00000485

在Winerror.h中,0x 00000485 = 1157(error _ dll _ not _ found),表示“找不到运行此应用程序所需的库文件”。例如,在键入regsvr 32 missing.dll之后,如果找不到Missing.dll文件,将返回此错误消息。

LoadLibrary("Dllname ")失败。GetLastError返回0x00000002

在Winerror.h中,0x 0000002 = 2(error _ file _ not _ found),表示“系统找不到指定的文件”。换句话说,系统找不到相关的DLL。例如,如果您键入regsvr 32 icwdial.dll,但缺少Tapi32.dll(依赖项),则会返回此错误消息。

LoadLibrary("dskmaint.dll ")失败。GetLastError返回0x000001f。

在Winerror.h中,0x000001f = 31 (ERROR_GEN_FAILURE),表示“附着在系统上的设备无法正常工作”。如果您尝试注册Win16,就会发生这种情况。dll文件。例如,键入regsvr 32 dskmaint.dll将返回此错误消息。

Dllname中的DllRegisterServer(或DllUnregisterServer)失败。返回代码是:string

在Winerror.h中搜索字符串.

和Regsvr32.exe属地。

RegSvr32.exe依赖于来自Kernel32.dll、User32.dll和Ole32.dll的文件(在Windows NT中,它还依赖于来自Msvcrt.dll和Advapi32.dll的文件)。Regsvr32.exe加载您试图注册或注销的文件及其所有依赖关系。如果所需的文件丢失或损坏,该过程可能会失败。

您可以使用dependencies来确定您尝试注册或注销的文件的依赖关系。Microsoft Windows 98 resource kit和Microsoft Windows NT 4.0 resource kit支持工具中都提供了Depends.exe。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Regsvr32的用法和错误信息说明

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情