Regsvr32:它是什么以及如何注册DLL

如何使用Regsvr32.exe注册和取消注册DLL文件

Regsvr32是Windows中的一个命令行工具,代表Microsoft Register Server 。 它用于注册和取消注册对象链接和嵌入(OLE)控件,如.DLL文件和ActiveX控件.OCX文件。

当regsvr32注册DLL 文件时 ,有关其相关程序文件的信息将添加到Windows注册表中 。 这是其他程序可以在注册表中访问的那些引用,以了解程序数据的位置以及如何与其交互。

如果您在计算机上看到DLL错误 ,则可能需要注册DLL文件。 我们在下面解释如何做到这一点。

如何注册和取消注册DLL文件

如果Windows注册表中引用该DLL文件的引用以某种方式被删除或损坏,则需要使用该DLL文件的程序可能会停止工作。 这是与注册表的关联被破坏时,应该注册一个DLL文件。

注册DLL文件通常是通过重新安装首先注册它的程序来完成的。 但是,有时候,您可能需要通过命令提示符手动注册DLL文件。

提示:如果您不确定如何找到它,请参阅如何打开命令提示符

这是构建regsvr32 命令的正确方法:

regsvr32 [/ u] [/ n] [/ i [:cmdline]]

例如,您需要输入以下第一条命令来注册名为myfile.dll的DLL文件,或者第二条命令取消其注册:

regsvr32 myfile.dll regsvr32 / u myfile.dll

您可以在regsvr32页面上看到其他可用于regsvr32的参数。

注意:只要将上面的命令输入到命令提示符中,并不是所有的DLL都可以注册。 您可能需要先关闭使用该文件的服务或程序。

如何修复常见的Regsvr32错误

以下是您在尝试注册DLL文件时可能会看到的一个错误:

该模块已加载,但对DllRegisterServer的调用失败,错误代码为0x80070005。

这通常是一个权限问题。 如果运行提升的命令提示符仍然不允许您注册DLL文件,则文件本身可能会被阻止。 检查文件“ 属性”窗口中“ 常规”选项卡的“ 安全”部分。

另一个可能的问题可能是您没有使用该文件的正确权限。

类似的错误信息措辞如下。 此错误通常意味着该DLL没有被用作计算机上任何应用程序的COM DLL,这意味着不需要注册它。

该模块已加载,但未找到入口点DllRegisterServer。

这是另一个regsvr32错误信息:

模块加载失败。 确保二进制文件存储在指定路径或调试它来检查二进制文件或相关.DLL文件的问题。

该特定的错误可能是由于缺少依赖关系,在这种情况下,您可以使用Dependency Walker工具查看DLL文件所需的所有依赖项的列表 - 您可能会缺少一个为了使DLL正确注册。

另外,请确保DLL文件的路径拼写正确。 命令的语法非常重要; 如果输入不正确,可能会引发错误。 某些DLL文件可能需要将其位置用引号括起来,例如“C:\ Users \ Admin User \ Programs \ myfile.dll”。

请参阅此Microsoft支持文章的“Regsvr32错误消息”部分以获取其他一些错误消息以及导致它们的原因的说明。

Regsvr32.exe在哪里存储?

首次安装Windows时,32位版本的Windows(XP和更新版本)将Microsoft注册服务器工具添加到%systemroot%\ System32 \文件夹。

64位版本的Windows不仅在那里存储regsvr32.exe文件,还在%systemroot%\ SysWoW64 \中存储regsvr32.exe文件