DLL(OCX)文件注册与反注册方法(regsvr32用法)
发布时间:2012-12-16 16:17:22 作者:佚名
我要评论
很多朋友从脚本之家下载了dll文件,但不会安装,这里分享下解决方法,需要的朋友可以参考下
注册DLL与反注册DLL文件的方法
如果经常需要注册与反注册dll可以用注册表文件
[HKEY_CLASSES_ROOT\dllfile\shell\Unregister]
"Command"="regsvr32 %1 /u"
[HKEY_CLASSES_ROOT\dllfile\shell\Register]
"Command"="regsvr32 %1"
当我们需要注册或者反注册dll时,只要在该dll文件上按下鼠标右键即可!
由于下面的方法太过啰嗦,这里简单的说下,注册dll
一般情况下,为了经常使用,建议将dll复制到系统盘的windows/system32目录,如果不是的,有时候需要加上dll的完整路径
注册dll
regsvr32 /s winshow.dll
反注册dll
regsvr32 /u winshow.dll
ocx 控件注册方法
ocx 控件的安装方式有很多种,这里介绍最简单的一种。
OCX 控件文件复制到某个目录
步骤:
1.将需要安装的目录,例如 C 盘根目录下。
2.进入开始菜单,点击“运行”
3.在出现的框中键入regsvr32 C:/xxxx.ocx 。(XXXX 为 控件名,C:/为目录)
4.点击确认后等待出现提醒注册成功即可。
如果是偶尔一个软件使用,将这个ocx文件复制到软件目录即可。
反注册DLL大法
UnRegister DLLs
You can use the Regsvr32 tool (Regsvr32.exe) to register and unregister object linking and
embedding (OLE) controls such as dynamic-link library (DLL) or ActiveX Controls (OCX) files
that are self-registerable.
RegSvr32.exe has the following command-line options:
Regsvr32 [/n] [/i[:cmdline]] dllname
/u - Unregister server
/i - Call DllInstall passing it an optional [cmdline]; when used with /u calls dll
uninstall
/n - do not call DllRegisterServer; this option must be used with /i
When you use Regsvr32.exe, it attempts to load the component and call its DLLSelfRegister
function. If this attempt is successful, Regsvr32.exe displays a dialog indicating success.
If the attempt is unsuccessful, Regsvr32.exe returns an error message, which may include a
Win32 error code.
Example: To unregister Winshow's winshow.dll:
Click the Start button, and select Run
Enter this command line:
regsvr32 /u [systemroot]\winshow.dll
For example, in a Windows XP machine in which your systemroot was at c:\winnt, you would
enter:
regsvr32 /u c:\winnt\winshow.dll
你能构使用Regsvr32工具Regsvr32.exe注册和反注册目标链接和深层OLE控制器类似于自动注册的动态链接库(DLL)和ActiveX控件。
(OCX)文件。
Regsvr32命令行参数:
格式:Regsvr32 [/n] [/i[:cmdline命令行]] dllnamedll文件名
/u - Unregister server反注册服务
/i - Call DllInstall passing it an optional [cmdline]; when used with /u calls dll
uninstall
/i 通过此DLL的可选参数,调用DLL安装,反安装使用/u
/n - do not call DllRegisterServer; this option must be used with /i
不调用DLL注册服务,此选项必须和/i一起使用
当你使用Regsvr32.exe,它会尝试载入DLL内组件并且调用本身的自注册功能。如果尝试成功,Regsvr32.exe显示一个成功提示框,如果尝试失败,Regsvr32.exe会返回一个错误消息,一般会包含Win32错误代码(特征码)。
例如
反注册Windows的windows.dll文件
1、点击“开始”按钮,选择“运行”
2、输入如下的命令行:
regsvr32 /u [systemroot系统目录]\winshow.dll
注:卸载DLL时,目录为此DLL文件所在完整的最后打开的目录
如:在系统目录是c:\winnt的Windows XP操作系统中,你可以输入如下命令行:
regsvr32 /u c:\winnt\winshow.dll
注意:一般来说,只有在无法删除某些注册过的DLL文件时,才使用Regsvr32.exe反注册此DLL
使用过activex的人都知道,activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在windows的system文件夹下有一个regsvr32.exe的程序,它就是windows自带的activex注册和反注册工具。
一、regsvr32的用法为:
“regsvr32 [/s] [/n] [/i(:cmdline)] dllname”。其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。
参数有如下意义:
/u——反注册控件
/s——不管注册成功与否,均不显示提示框
/c——控制台输出
/i——跳过控件的选项进行安装(与注册不同)
/n——不注册控件,此选项必须与/i选项一起使用
执行该命令的方法:
1、可以在“开始”--“运行”,调出运行的对话框,也可以使用Win+R热键,然后直接在输入栏输入即可
2、在开始--运行 输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。
二、Regsvr32错误消息的说明
当使用 Regsvr32.exe 时,它会尝试加载该组件并调用它的 DLLSelfRegister 函数。如果此尝试成功,Regsvr32.exe 会显示一个指示成功的对话框。如果此尝试失败,Regsvr32.exe 会返回一条错误消息,其中可能会包括一个 Win32 错误代码。
以下列表介绍了 RegSvr32 错误消息和可能的原因。
Unrecognized flag:/invalid_flag
键入的标志或开关组合无效(请参阅本文中的“Regsvr32.exe 的用法”一节)。
No DLL name specified.
未包括 .dll 文件名(请参阅本文中的“Regsvr32.exe 的用法”一节)。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.
Dllname 不是 .dll 或 .ocx 文件。例如,键入 regsvr32 wjview.exe 就会生成该错误消息。
Dllname is not an executable file and no registration helper is registered for this file type.
Dllname 不是可执行文件(.exe、.dll 或 .ocx)。例如,键入 regsvr32 autoexec.bat 就会生成该错误消息。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.
Dllname 可能未导出,或者内存中可能有损坏的 Dllname 版本。请考虑使用 Pview 来检测该文件并删除它。
Dllname is not self-registerable or a corrupted version is in memory.
例如,键入 regsvr32 icwdial.dll 后就会返回该错误消息,因为 Icwdial.dll 文件不能自行注册。
如果您怀疑内存中有损坏的 Dllname 版本,请尝试重新启动计算机,或重新提取该文件的原始版本。
如果您运行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 资源工具包 中的 Kill 或 Pview 工具。有关其他信息,请单击以查看以下 Microsoft 知识库文章: 197155 如何终止孤立进程
OleInitialize failed (or OleUninitialize failed).
Regsvr32 必须先初始化 COM 库,然后才能调用所需的 COM 库函数并在关闭时撤消对该库的初始化。
如果对 COM 库进行初始化或撤消初始化的尝试失败,就会出现这些错误消息。例如,Ole32.dll 文件
可能已经损坏,或者其版本有误。
LoadLibrary("Dllname") failed.GetlastError returns 0x00000485
在 Winerror.h 中,0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示“找不到运行该应用程序所需的某个库文件”。例如,键入 regsvr32 missing.dll 后,如果找不到 Missing.dll 文件,就会返回该错误消息。
LoadLibrary("Dllname") failed.GetLastError returns 0x00000002
在 Winerror.h 中,0x00000002 = 2 (ERROR_FILE_NOT_FOUND),表示“系统找不到指定的文件”。换言之,系统找不到相关的 DLL。例如,如果键入 regsvr32 icwdial.dll,而此时缺少 Tapi32.dll(依赖项),就会返回该错误消息。
LoadLibrary("dskmaint.dll") failed.GetLastError returns 0x000001f 在 Winerror.h 中,0x000001f = 31 (ERROR_GEN_FAILURE),表示“附加到系统上的设备不能正常工作”。如果您尝试注册 Win16 .dll 文件,就会发生此现象。例如,键入 regsvr32 dskmaint.dll 会返回该错误消息。
DllRegisterServer (or DllUnregisterServer)in Dllname failed.返回代码是:字符串
在 Winerror.h 中搜索字符串。
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。
247024 Tools Included with the Microsoft Windows 98 Resource Kit
三、一个快速注册 DLL 及 OCX 的方法
注意看罗!方法如下:
1、在资源管理器中找到 C:\Windows\System\Regsvr32.exe 并【复制】 ( 按鼠标右键选复制 )
2、将目录移到 C:\Windows\SendTo 后,执行【贴上快捷方式】 ( 按鼠标右键选贴上快捷方式 )
3、将快捷方式名称改成【REGISTER】
4、OK
现在,如果您想替某一个文件做注册动作,例如:C:\Windows\System\Test.ocx,您只要打开资源管理器,找到 C:\Windows\System\Test.ocx,按鼠标右键选【传送到】【REGISTER】即可完成注册动作了!
注:有一个地方要注意的是,Regsvr32.exe 只能注册 32 位的文件!如果要用它来注册 16 位的文件,会有错误讯息产生。
如果经常需要注册与反注册dll可以用注册表文件
复制代码
代码如下:[HKEY_CLASSES_ROOT\dllfile\shell\Unregister]
"Command"="regsvr32 %1 /u"
[HKEY_CLASSES_ROOT\dllfile\shell\Register]
"Command"="regsvr32 %1"
当我们需要注册或者反注册dll时,只要在该dll文件上按下鼠标右键即可!
由于下面的方法太过啰嗦,这里简单的说下,注册dll
一般情况下,为了经常使用,建议将dll复制到系统盘的windows/system32目录,如果不是的,有时候需要加上dll的完整路径
注册dll
复制代码
代码如下:regsvr32 /s winshow.dll
反注册dll
复制代码
代码如下:regsvr32 /u winshow.dll
ocx 控件注册方法
ocx 控件的安装方式有很多种,这里介绍最简单的一种。
OCX 控件文件复制到某个目录
步骤:
1.将需要安装的目录,例如 C 盘根目录下。
2.进入开始菜单,点击“运行”
3.在出现的框中键入regsvr32 C:/xxxx.ocx 。(XXXX 为 控件名,C:/为目录)
4.点击确认后等待出现提醒注册成功即可。
如果是偶尔一个软件使用,将这个ocx文件复制到软件目录即可。
反注册DLL大法
UnRegister DLLs
You can use the Regsvr32 tool (Regsvr32.exe) to register and unregister object linking and
embedding (OLE) controls such as dynamic-link library (DLL) or ActiveX Controls (OCX) files
that are self-registerable.
RegSvr32.exe has the following command-line options:
Regsvr32 [/n] [/i[:cmdline]] dllname
/u - Unregister server
/i - Call DllInstall passing it an optional [cmdline]; when used with /u calls dll
uninstall
/n - do not call DllRegisterServer; this option must be used with /i
When you use Regsvr32.exe, it attempts to load the component and call its DLLSelfRegister
function. If this attempt is successful, Regsvr32.exe displays a dialog indicating success.
If the attempt is unsuccessful, Regsvr32.exe returns an error message, which may include a
Win32 error code.
Example: To unregister Winshow's winshow.dll:
Click the Start button, and select Run
Enter this command line:
regsvr32 /u [systemroot]\winshow.dll
For example, in a Windows XP machine in which your systemroot was at c:\winnt, you would
enter:
regsvr32 /u c:\winnt\winshow.dll
你能构使用Regsvr32工具Regsvr32.exe注册和反注册目标链接和深层OLE控制器类似于自动注册的动态链接库(DLL)和ActiveX控件。
(OCX)文件。
Regsvr32命令行参数:
格式:Regsvr32 [/n] [/i[:cmdline命令行]] dllnamedll文件名
/u - Unregister server反注册服务
/i - Call DllInstall passing it an optional [cmdline]; when used with /u calls dll
uninstall
/i 通过此DLL的可选参数,调用DLL安装,反安装使用/u
/n - do not call DllRegisterServer; this option must be used with /i
不调用DLL注册服务,此选项必须和/i一起使用
当你使用Regsvr32.exe,它会尝试载入DLL内组件并且调用本身的自注册功能。如果尝试成功,Regsvr32.exe显示一个成功提示框,如果尝试失败,Regsvr32.exe会返回一个错误消息,一般会包含Win32错误代码(特征码)。
例如
反注册Windows的windows.dll文件
1、点击“开始”按钮,选择“运行”
2、输入如下的命令行:
regsvr32 /u [systemroot系统目录]\winshow.dll
注:卸载DLL时,目录为此DLL文件所在完整的最后打开的目录
如:在系统目录是c:\winnt的Windows XP操作系统中,你可以输入如下命令行:
regsvr32 /u c:\winnt\winshow.dll
注意:一般来说,只有在无法删除某些注册过的DLL文件时,才使用Regsvr32.exe反注册此DLL
使用过activex的人都知道,activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在windows的system文件夹下有一个regsvr32.exe的程序,它就是windows自带的activex注册和反注册工具。
一、regsvr32的用法为:
“regsvr32 [/s] [/n] [/i(:cmdline)] dllname”。其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。
参数有如下意义:
/u——反注册控件
/s——不管注册成功与否,均不显示提示框
/c——控制台输出
/i——跳过控件的选项进行安装(与注册不同)
/n——不注册控件,此选项必须与/i选项一起使用
执行该命令的方法:
1、可以在“开始”--“运行”,调出运行的对话框,也可以使用Win+R热键,然后直接在输入栏输入即可
2、在开始--运行 输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。
二、Regsvr32错误消息的说明
当使用 Regsvr32.exe 时,它会尝试加载该组件并调用它的 DLLSelfRegister 函数。如果此尝试成功,Regsvr32.exe 会显示一个指示成功的对话框。如果此尝试失败,Regsvr32.exe 会返回一条错误消息,其中可能会包括一个 Win32 错误代码。
以下列表介绍了 RegSvr32 错误消息和可能的原因。
Unrecognized flag:/invalid_flag
键入的标志或开关组合无效(请参阅本文中的“Regsvr32.exe 的用法”一节)。
No DLL name specified.
未包括 .dll 文件名(请参阅本文中的“Regsvr32.exe 的用法”一节)。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.
Dllname 不是 .dll 或 .ocx 文件。例如,键入 regsvr32 wjview.exe 就会生成该错误消息。
Dllname is not an executable file and no registration helper is registered for this file type.
Dllname 不是可执行文件(.exe、.dll 或 .ocx)。例如,键入 regsvr32 autoexec.bat 就会生成该错误消息。
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer entry point was not found.
Dllname 可能未导出,或者内存中可能有损坏的 Dllname 版本。请考虑使用 Pview 来检测该文件并删除它。
Dllname is not self-registerable or a corrupted version is in memory.
例如,键入 regsvr32 icwdial.dll 后就会返回该错误消息,因为 Icwdial.dll 文件不能自行注册。
如果您怀疑内存中有损坏的 Dllname 版本,请尝试重新启动计算机,或重新提取该文件的原始版本。
如果您运行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 资源工具包 中的 Kill 或 Pview 工具。有关其他信息,请单击以查看以下 Microsoft 知识库文章: 197155 如何终止孤立进程
OleInitialize failed (or OleUninitialize failed).
Regsvr32 必须先初始化 COM 库,然后才能调用所需的 COM 库函数并在关闭时撤消对该库的初始化。
如果对 COM 库进行初始化或撤消初始化的尝试失败,就会出现这些错误消息。例如,Ole32.dll 文件
可能已经损坏,或者其版本有误。
LoadLibrary("Dllname") failed.GetlastError returns 0x00000485
在 Winerror.h 中,0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),表示“找不到运行该应用程序所需的某个库文件”。例如,键入 regsvr32 missing.dll 后,如果找不到 Missing.dll 文件,就会返回该错误消息。
LoadLibrary("Dllname") failed.GetLastError returns 0x00000002
在 Winerror.h 中,0x00000002 = 2 (ERROR_FILE_NOT_FOUND),表示“系统找不到指定的文件”。换言之,系统找不到相关的 DLL。例如,如果键入 regsvr32 icwdial.dll,而此时缺少 Tapi32.dll(依赖项),就会返回该错误消息。
LoadLibrary("dskmaint.dll") failed.GetLastError returns 0x000001f 在 Winerror.h 中,0x000001f = 31 (ERROR_GEN_FAILURE),表示“附加到系统上的设备不能正常工作”。如果您尝试注册 Win16 .dll 文件,就会发生此现象。例如,键入 regsvr32 dskmaint.dll 会返回该错误消息。
DllRegisterServer (or DllUnregisterServer)in Dllname failed.返回代码是:字符串
在 Winerror.h 中搜索字符串。
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。
247024 Tools Included with the Microsoft Windows 98 Resource Kit
三、一个快速注册 DLL 及 OCX 的方法
注意看罗!方法如下:
1、在资源管理器中找到 C:\Windows\System\Regsvr32.exe 并【复制】 ( 按鼠标右键选复制 )
2、将目录移到 C:\Windows\SendTo 后,执行【贴上快捷方式】 ( 按鼠标右键选贴上快捷方式 )
3、将快捷方式名称改成【REGISTER】
4、OK
现在,如果您想替某一个文件做注册动作,例如:C:\Windows\System\Test.ocx,您只要打开资源管理器,找到 C:\Windows\System\Test.ocx,按鼠标右键选【传送到】【REGISTER】即可完成注册动作了!
注:有一个地方要注意的是,Regsvr32.exe 只能注册 32 位的文件!如果要用它来注册 16 位的文件,会有错误讯息产生。
相关文章

电脑提示找不到libcef.dll无法继续执行代码怎么办? libcef.dll丢失修复
在使用电脑的过程中,你可能会突然遇到诸如“找不到libcef.dll”或者“由于缺少libcef.dll,程序无法启动”之类的恼人提示,下面我们就来看看详细解决办法2025-04-23
电脑提示由于找不到d3dx9_43.dll如何解决? d3dx9_43.dll文件丢失修复技
在使用Windows操作系统运行某些应用程序(尤其是游戏或图形密集型软件)时,用户可能会遇到“d3dx9_43.dll文件丢失”的错误提示,这一错误不仅影响程序的正常启动,还可能2025-04-23
在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何从根本上解决电脑2025-04-16
今天我来分享一下如何用USB线把台式电脑连接到手机的网络上,其实操作非常简单,只需要几步就搞定了,让我们一起来看看吧2025-04-15
分辨率三兄弟LPI、DPI 和 PPI有什么区别? 搞清分辨率的那些事儿
分辨率这个东西,真的是让人又爱又恨,为了搞清楚它,我可是翻阅了不少资料,最后发现“小7的背包”的解释最让我茅塞顿开,于是,我决定整理一下,给大家分享一下我的理解2025-04-03
你是否曾想过,为什么键盘上的空格键有时并不能满足我们的需求?其实,空格键输入的空格分为全角和半角两种2025-03-31
mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法
最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢?别担心,本文将详细介绍mss32.dll文件的作用和丢失原因2025-03-26
电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法
openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到过这个问题,但你知道该如何解决吗?详细请看下文介绍2025-03-26
电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技
电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解决方法,手把手教你如何搞定win32spl.dll丢失的问题,让你轻松恢复打印机连2025-03-26
电脑提示binkw32.dll缺失怎么办? 教你轻松解决binkw32.dll丢失问题修复
电脑上玩游戏时,突然弹出“计算机丢失binkw32.dll”的错误提示,是不是让你瞬间抓狂?别担心,今天就来手把手教你如何解决这个问题2025-03-26








最新评论