前事不忘,后事之师,不忘国耻!

 注册  找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3912|回复: 0

Regsvr32 用法和错误消息的说明

[复制链接]

Regsvr32 用法和错误消息的说明

[复制链接]
ehxz

主题

0

回帖

7251

积分

管理员

积分
7251
2009-12-29 11:13:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
这个命令行工具将动态链接库文件注册为注册表中的命令组成。
    Regsvr32.exe 的用法
    RegSvr32.exe 具有以下命令行选项:
    Regsvr32 [/n] [/i[:cmdline]] dllname
   
    /u – 取消注册服务器
    /i – 调用 DllInstall,为其传递一个可选 [cmdline];当与 /u 一起使用时,可调用 dll 卸载
    /n – 不调用 DllRegisterServer;此选项必须与 /i 一起使用
    /s – 静默;不显示任何消息框(附加在 Windows XP 和 Windows Vista 中)
    在使用 Regsvr32.exe 时,它会尝试加载组件并调用它的 DLLSelfRegister 函数。如果此尝试成功,则 Regsvr32.exe 会显示一个提示成功的对话框。如果此尝试失败,则 Regsvr32.exe 会返回一条错误消息,其中可能包括 Win32 错误代码。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
     
    例如,要手动注册 Sample.ocx ActiveX 控件,请在命令提示符处键入以下命令:
    c:
egsvr32.exe sample.ocx
   
    Windows Vista 中的 Regsvr32.exe 错误消息
    以下列表介绍了 RegSvr32 错误消息和可能的原因。
   
    命令标志“%1”无效。请查看命令用法,然后重试。
   
    在命令行中将无效的选项组合传递到 regsvr32.exe。
   
    仅当打开 Microsoft Visual Studio OLE 自定义控件项目时,此命令才有效。
   
    Visual Studio 调用了 Regsvr32.exe,但命令行中未指定模块。
   
    要注册模块,必须提供一个二进制名称。
   
    调用 Regsvr32.exe 时未在命令行中指定任何模块。
   
    命令 OleInitialize 运行失败。计算机可能内存不足。请关闭任何打开的程序,然后重试。
   
    Regsvr32 必须先初始化 COM 库,然后才能调用所需的 COM 库函数并在关闭时撤消对该库的初始化。如果尝试对 COM 库进行初始化或撤消初始化时失败,就会出现这些错误消息。
   
    模块“%1”加载失败。

请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的 .DLL 文件是否有问题。

%2。
   
    加载命令行中指定的模块时出现错误。该错误文本显示为消息的一部分。
   
    模块“%1”已加载,但找不到入口点 %2。

请确保“%1”为有效的 DLL 或 OCX 文件,然后重试。
   
    Regsvr32.exe 无法在命令行中指定的模块中找到所需的入口点。如果未正确从模块导出入口点或模块不是 .DLL 或 .OCX 文件时,就会发生这种情况。
   
    模块“%1”已加载,但对 %2 的调用失败,错误代码为 %3。

要获取此问题的详细信息,请将该错误代码用作搜索词进行联机搜索。
   
    当 regsvr32.exe 调用在命令行中指定的模块中的入口点时出现错误。该错误代码显示为消息的一部分
   
    模块“%1”可能与您正在运行的 Windows 版本不兼容。检查该模块是否与 regsvr32.exe 的 x86 (32 位)或 x64 (64 位)版本兼容。
   
    例如,当在 x86 计算机上运行 regsvr32.exe,并且命令行中指定的模块为 64 位模块时,可能会发生此错误。
   
    低于 Windows Vista 版本的 Regsvr32.exe 错误消息
    以下列表介绍了 RegSvr32 错误消息和可能的原因。
   
    无法识别的标志:/invalid_flag
   
    键入的标志或开关组合无效(请参见本文中的“Regsvr32.exe 的用法”一节)。
   
    没有指定 DLL 名。
   
    未添加 .dll 文件名(请参见本文中的“Regsvr32.exe 的用法”一节)。
   
    Dllname 已经载入,但未发现 DllRegisterServer 或 DllUnregisterServer 入口点。
   
    Dllname 不是 .dll 或 .ocx 文件。例如,键入 regsvr32 wjview.exe 就会生成该错误消息。
   
    Dllname 不是一个可执行文件;没有为这个文件类型注册的注册帮助程序。
   
    Dllname 不是可执行文件(.exe、.dll 或 .ocx)。例如,键入 regsvr32 autoexec.bat 就会生成该错误消息。
   
    Dllname 已经载入,但未发现 DllRegisterServer 或 DllUnregisterServer 入口点。
   
    Dllname 可能没有导出,或内存中存在已损坏的 Dllname 版本。建议使用 Pview 来检测该文件并删除它。
   
    Dllname 无法自行注册,或内存中存在已损坏的版本。
   
    例如,键入 regsvr32 icwdial.dll 后就会返回该错误消息,因为 Icwdial.dll 文件不能自行注册。如果您怀疑内存中有损坏的 Dllname 版本,请尝试重新启动计算机,或重新解压缩该文件的原始版本。如果您运行的是 Windows NT,可能需要使用 Microsoft Windows NT Server 4.0 资源工具包 中的 Kill 或 Pview 工具。有关其他信息,请单击以查看下面的 Microsoft 知识库文章:
   
    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是系统文件
  很多朋友都用过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 thumbvw.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这个参数。
  五、修复无法缩略图查看文件问题
  2000: 开始→运行,输入regsvr32 thumbvw.dll
  XP: 开始→运行,输入regsvr32 shimgvw.dll 这条主要是解决windows图片和传真查看器的右键没有“设为桌面背景”的!!特注!
  六、让WMP播放器支持RM格式
  很多朋友喜欢用Windows Media Player(以下简称WMP)播放器,但是它不支持RM格式,难道非得安装其它播放软件吗? 以Win XP为例,首先下载一个RM格式插件,解压缩后得到两个文件夹: Release(用于Windows 9x)和Release Unicode (用于Windows 2000/XP);将Release Unicode文件夹下的
  RealMediaSplitter.ax文件拷贝到“系统盘符\WINDOWS\System32\”目录下;在“开始→运行”中键入“regsvr32 RealMediaSplitter.ax”,点击“确定”即可。接着下载解码器,如Real Alternative,安装后就能用WMP播放RM格式的影音文件了。
  七、让WMP9的播放器出现
  有些音乐网页的在线点歌需要用到Media Player,有的朋友明明安装了WMP9,但在线听音乐却只看到枯燥的WMP6播放器面板,想让漂亮的WMP9面板出现,当然没问题的。 常见问题的操作系统多数WIN 98,先关闭IE,再在“开始→运行”中键入“regsvr32 wmpdxm.dll”,点击“确定”即可。
  八、解决打开系统功能时无反应regsvr32 shdocvw.dll 。有时从开始菜单里点击XP系统的搜索功能、帮助和支持或管理工具等,但就是无任何反应,这是它们的打开方式缺少关联,所以我们只要用regsvr32注册它们需要调用的动态连接库文件就行了。
  九、添加/删除程序打不开了 当打开控制面板中的添加/删除程序时,双击它的图标后无反应,或者打开后自动关闭了,尝试使用以下命令可以解决。
  regsvr32 mshtml.dll
  regsvr32 jscript.dll
  regsvr32 msi.dll
  regsvr32 "c:\program files\common files\system\ole db\oledb32.dll"
  regsvr32 "c:\program files\common files\system\ado\msado15.dll"
  regsvr32 mshtmled.dll
  regsvr32 /i shdocvw.dll
  regsvr32 /i shell32.dll
  十、XP的用户帐户打不开regsvr32 nusrmgr.cpl
  regsvr32 mshtml.dll
  regsvr32 jscript.dll
  regsvr32 /i shdocvw.dll
  十一、解决Windows无法在线升级的问题regsvr32 wupdinfo.dll 虽然这两个命令能修复,但治标不治本,我建议遇到此问题的朋友到微软网站进行IE安全更新,即打漏洞补丁。
  regsvr32 jscript.dll
  regsvr32 vbscript.dll
  可以很好的解决浏览某些网页无法正常显示和功能不正常。修复个别窗口空白,如XP的‘搜索’功能的搜索助理操作面板空白、系统还原页面空白和用户帐户页面空白等(可修复把握度100%) 。解决windows media player 9或以上版本打开时提示‘出现内部应用程序错误’(可修复把握度100%) 。可以修复win 2000的‘添加/删除程序’打开后一片空白(可修复把握度99%) 。解决win 2000以WEB方式查看Program Files文件夹和Winnt文件夹时看不到任何文件,以及‘控制面板’的图标跑到左边去的问题。解决网页上网际快车的右键菜单功能无法使用。 在网站中,当右键点某个‘下载连接’时,会弹出菜单,选择‘使用网际快车下载’会再弹出FLASHGET的下载任务页面,如果发现该功能无反应,那就可能是这个原因:原来这项菜单是调用了FLASHGET目录下的jc_link.htm文件,这个文件是用VB语言编写的,所以其作用丢失是动态连接库vbscript.dll没有注册和调用到。等等
  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
  十二,如果你以上问题都尝试过了还是在关机的时候出现此问题,如果你确认你自己安装中国工商银行的反钓鱼软件。
  请您卸载此软件。
  十三,恢复“显示桌面”快捷图标
  在进行日常的电脑操作时,有时会急需调出桌面,但又不关闭已打开的窗口,Windows对此添加了显示桌面的快捷键,默认在“开始”右边的第一个快捷方式。有时快捷栏里显示桌面图标会丢失,或被误删除。这时可以用regsvr32命令来解决。
  开始》 运行》 regsvr32 /n /i:u shell32
免责申明1、欢迎访问本站,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@dbabbs.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|DBA论坛中国 ( 鲁ICP备20017503号-2 )

GMT+8, 2024-12-21 23:37 , Processed in 0.035916 second(s), 11 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表