Regsvr32

这个命令行工具将 dll 文件注册为注册表中的命令组成。

语法

regsvr32 [/u] [/s] [/n] [/i[:cmdline]] dllname  其中dllname为activex控件文件名,建议在安装前拷贝到system文件夹下。

参数

/u

反注册控件

/s

指定 regsvr32 安静运行,且不显示任何消息框。

/n

指定不调用 DllRegisterServer。此选项必须与 /i 共同使用。

/i:cmdline

调用 DllInstall 将它传递到可选的 [cmdline]。在与 /u 共同使用时,它调用 dll 卸载。

dllname

指定要注册的 dll 文件名。

/?

在命令提示符显示帮助。

例:

要为“Active Directory Schema”注册 .dll,请在 MS-DOS 提示符处键入以下命令:

c:\regsvr32 schmmgmt.dll

Regsvr32是系统文件
很多朋友都用过Windows系统下提供的regsvr32.exe这个命令。不要瞧不起这个小命令。有时候它可能帮你解决大问题。

一、轻松修复IE浏览器 很多经常上网的朋友都有过这样的经历:IE不能打开任何新的窗口,。用鼠标点击超联接也没有任何的反应。这是一般情况下需要重新启动机器或者重新安装IE就能解决问题。其实根本没这么 麻烦,使用regsvr32.exe命令就可以轻松搞定。在开始---运行里输入“regsvr32.exe actxprxy.dll”回车 确定;再次输入运行Regsvr32.exe shdocvw.dll”回车。重新启动计算机后IE被轻松修复。上网一切正常如初。

二、解决windows无法在线升级的问题 windows漏洞很多。每隔一段时间都需要使用windows update来升级自己的系统。可这个程序总是出现无法使用的情况。这个时候使用regsvr32.exe有可以帮助我们解决这个问题。开始---运行--输入regsvr32.exe wupdinfo.dll回车。这是系统重新注册了Update的组件。重新启动机器后有可以升级你的系统。

三、卸载 WIN XP中的鸡肋功能 XP系统中有的服务不仅占用系统资源严重,而且功能要强不强,要弱不弱。根本不如一些专业的软件来的方便。比如它的图片予览功能和ZIP压缩功能。这个时候我们就可以使用regsvr32.exe工具来卸载掉这些鸡肋。开始--运行---输入regsvr32.exe /u zipfldr.dll就可以卸载掉功能。如以后需要这个功能,只需要再次输入regsvr32 zipfldr.dll即可。同样,开始-运行---输入regsvr32.exe /u thumbvw.dll就可以卸载掉图片予览功能。需要恢复时输入regsvr32 thunbvw.dll

四、防范网络脚本病毒有新招 网络脚本病毒会在你浏览网页的同时不知不觉的被感染。这种病毒有时候一般的杀毒软件根本查不到。其实这种病毒很多情况下都是调用了FSO对象(file system object文件系统对象)。因此我们只需要禁止FSO就可以有效的防止这种病毒的传播。操作的方法也很简单。开始-运行--输入“regsvr32.exe /u scrrun.dll就可以禁用FSO。需要时输入regsvr32.exe scrrun.dll即可。 相信很多朋友看见上面的介绍多少对regsvr32.exe都有了一些了解。其实这个命令是windows中控件文件(扩展名为.dll ,.ocx,.cpl)的注册和反注册工具。这个命令在WIN98下的位置在/WINDOWS/SYSTEM中。其实一般情况下,所谓的注册的意义就是把一些控件文件放在它应该在的位置上(不严格的说)。而有一些系统的控件或者其它情况下用这个命令就方便的多。关于这个命令的参数,请大家参考此贴的第一个图。一般情况下只用到/U这个参数。

Regsvr32.exe 错误消息
以下列表介绍了 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