山东神思电子笔试题:RegSvr32 已加载mshtml.dll,但没有找到DllRegisterServer输入点。无法注...

来源:百度文库 编辑:偶看新闻 时间:2024/04/26 07:13:25

办法一:对于那些可以自行注册的对象链接和嵌入 (OLE) 控件,例如动态链接库 (DLL) 文件或 ActiveX 控件 (OCX) 文件,您可以使用 Regsvr32 工具 (Regsvr32.exe) 来将它们注册和取消注册。

Regsvr32.exe 的用法

RegSvr32.exe 具有以下命令行选项: Regsvr32 [/u] [/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

当您使用 Regsvr32.exe 时,它会尝试加载该组件并调用它的 DLLSelfRegister 函数。假如此尝试成功,Regsvr32.exe 会显示一个指示成功的对话框。假如此尝试失败,Regsvr32.exe 会返回一条错误消息,其中可能会包括一个 Win32 错误代码。要查看 Win32 错误代码的列表,请参见下面的 Microsoft Web 站点:
http://msdn.microsoft.com/library/en-us/netdir/adsi/win32_error_codes.asp

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

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 文件可能已经损坏,或者其版本有误。

供参考!

并不是所有的DLL都能注册,大多数DLL都是通过导出函数提供功能,只有那些遵循COM的DLL才能用RegSvr注册。我想应该复制好后就完事了吧。

http://www.dll1.cn/soft/search.asp?keyword=mshtml.dll&x=54&y=15
使这个文件吧!
可能系统不认你前一次下的文件!
www.dll1.cn

办法二:你可以尝试借助工具软件对IE进行一下修复,比如“超级兔子”、“瑞星卡卡上网安全助手”或“黄山IE修复专家”。

办法三:这两天是我不解的是。浏览器老师被迫关闭。想看什么逗看不成。总是出现错误后点击关闭!所有窗口随即闪电似的全部消失。

已加载mshtml.dll 但没有找到dllregisterserver的输入点,无法注册

上网查资料才知道是Windows里的一个文件损坏了-----------------------(目录是:c:\windows\system32\mshtml.dll )

mshtml - mshtml.dll - DLL文件信息

DLL 文件: mshtml 或者 mshtml.dll
DLL 名称: Microsoft HTML Viewer

描述:
mshtml.dll是HTML解释器相关模块。


属于: HTML
系统 DLL文件: 否

常见错误: File Not Found, Missing File, Exception Errors

安全等级 (0-5): 0
间谍软件: 否
广告软件: 否

要说修改方法。我总结了一下

如:一,在别的网站上下载一个mshtml.dll 文件。覆盖到c:\windows\system32\mshtml.dll

                地址:      www.zhaodll.com/dll/softdown.asp

       二, 重装IE浏览器

       三,中毒 ,杀毒

       四,IE的系统漏洞,打补丁

      五,1.打开IE------Internet选项-----高级------还原默认设置。

              2.升级或重装IE。 方法一:在“运行”中执行

                   regsvr32 /i urlmon.dll

                    regsvr32 actxprxy.dll

                         regsvr32 shdocvw.dll

               方法二:解压后双击bat文件,就可以修复IE的这种问题 [attach]213686[/attach]

               方法三:重装IE 方法四:用黄山IE修复器或兔子修复下

               方法四。重装电脑     (天那!我也要崩溃啦!千万不要啊!)

这几天想想,后来通过实践,原来是在安装软件的时候同时也会更改c:\windows\system32\mshtml.dll

如你把软件删除或卸载!就会使c:\windows\system32\mshtml.dll变的不正常或者是损坏。

所以有句话是对的“不要经常删除或者卸载软件,那样会使系统变得不稳定。甚至损坏!”

我已经重装了!安装好各项更新后,赶紧把容易损坏的文件备份了一下。在出毛病,就把这个文件覆盖一下就解决问题了。

接受这么惨痛的教训!心中的“石头”也终于落下了!

方法四:注册表修改法:“开始”→“运行”处输入“regedit”,在

“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\”中,右边窗口找到残留的程序名删除。或者打开注册表编辑器 ,在编辑→查找中,输入出错文件名,把搜到的删除,按F3键,搜索下一个,直到删完所有的为止。

开始菜单-运行-输入msconfig回车
在里边的启动栏里把**.dll前面的勾去掉就行了
1、开始——运行——msconfig——启动——把加载项***.dll的那个勾勾去掉。 重启电脑,通常到这就可以了,如果还弹出来再进行第二步
2、开始——运行——regedit 在下面的位置删除相应键值: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
.根据你的描述,那应该是一个已被删除了的病毒或间谍软件。但也有可能是你卸载某个软件不正确留下的残留.


dll因为某些原因(最大的可能是因为它是个病毒或流氓软件的dll文件,被杀软删除了)丢失了,但其相关的注册信息却还在,导致系统开机时还加载它,却又找不到它的文件,所以报错。
如果你点击“确定”后,系统没有什么不正常,并且可以正常运行的话,你可以用这个软件清理掉这个开机加载项,以后开机就不会出现这个信息了。
Autoruns:开机启动项管理
http://www.onlinedown.net/soft/21022.htm

方法五:系统文件受损,请修复系统。

1、开机按F8不动到高级选项出现在松手,选“最近一次的正确配置”回车修复。
2、请开机按F8进入到安全模式中用系统自带的系统还原,还原到你没有出现这次故障的时候修复。
3、如果故障依旧,使用系统盘修复,打开命令提示符输入SFC /SCANNOW 回车(SFC和/之间有一个空格),插入原装系统盘修复系统,系统会自动对比修复的。
4、如果故障依旧,在BIOS中设置光驱为第一启动设备插入系统安装盘按R键选择“修复安装”即可。
5、如果故障依旧,建议重装操作系统。

如果实在不行,建议选择修复安装,这样即修复了系统,又可使C盘的程序和文件不受损失。

方法六:重新注册IE项,修复IE注册。
重置IE:
   1 在"开始"菜单中打开"运行"窗口,在其中输入"regsvr32 actxprxy.dll",然后"确定",接着会出现一个信息对话 框"DllRegisterServer in actxprxy.dll succeeded",再次点击"确定"。
   2 再次打开"运行"窗口,输入"regsvr32 shdocvw.dll
   3 再次打开"运行"窗口,输入"regsvr32 oleaut32.dll
   4 再次打开"运行"窗口,输入"regsvr32 actxprxy.dll
   5 再次打开"运行"窗口,输入"regsvr32 mshtml.dll
   6 再次打开"运行"窗口,输入"regsvr32 browseui.dll
   7 再次打开"运行"窗口,输入"regsvr32 urlmon.dll


IE重新安装:
①对IE 5.0的重装可按以下步骤进行:
 第一步:打开“注册表编辑器”,找到[HKEY_LOCAL_ MACHINE\Software\Microsoft\Internet Explorer],单击其下的Version Vector键。
第二步:在右侧窗格中双击IE子键,将原来的“5.0002”改为“4.0”,单击“确定”后退出“注册表编辑器”。
  第三步:重启后,就可以重装IE 5.0了。
  ②IE 6.0的重装有两种方法:
  方法1:打开“注册表编辑器”,找到[HKEY_LOCAL_ MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{89820200-ECBD-11cf-8B85-00AA005B4383}],将IsInstalled的DWORD值改为0就可以了。
  方法2:放入Windows XP安装盘,在“开始→运行”窗口键入“rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %windir%\Inf\ie.inf”。

方法七:关闭 iexplore 浏览器再打开刚才出错的网页,也报错,我把电脑重启再开那个网页,好像没有报错了,可是却不能翻看下页,刷新网页,再次报错。我不死心,继续通过各种方法去打开那个网页,可屡试屡不爽,百发百不中。浏览其它网站网页都无问题,偏偏就是我现在最想看的内容看不到,那个气呀启一个“气”字了得。

   “气定思气”,这个不大不小的 mshtml.dll 错误问题让我警觉,誓必要解决。上网一搜,才知道,虽在不同网页,却和我有共同遭遇的网友,很多很烦躁,他们也提出了许多解决办法,大体有如下几种:51Testing软件测试网 @ ?-F X ~ G5F

-X },s \%p2U0       1、C:\WINDOWS\system32 里的 mshtml.dll 文件已破坏,可从其它电脑系统或标准安装版系统光盘中提取相同的 mshtml.dll 文件进行替换。从其它电脑上复制相同的 mshtml.dll 文件要注意10个数字的版本号须匹配。从原标准安装版的系统光盘中提取 mshtml.dll 文件可如此做,在系统光盘的 I386 文件夹里找到 MSHTML.DL_ 文件,把它复制到硬盘上,把它的扩展名 .DL_ 改成 .cab 它会变成一个cab压缩包,打开这个压缩包就可以看到里面的 mshtml.dll 文件了。不论从哪里复制替换 mshtml.dll 文件,都还要记得替换 C:\WINDOWS\system32\dllcache 里相对应的备份 mshtml.dll 文件。此法我已试过,对我无效,希望对其它网友有用。


    2、mshtml.dll 文件没有被 IE 正确关联,可运行命令使其再次关联。关联方法较简单,点击“开始”菜单里的“运行”,在空框处填入 regsvr32 /u mshtml.dll 命令先卸载关联,如果卸载成功,会提示“ mshtml.dll 中的 DllUnregisterServer 成功。”,然后再填入 regsvr32 mshtml.dll 命令进行关联,如果关联成功,会提示“ mshtml.dll 中的 DllRegisterServer 成功。”,最后重启电脑即可。此法最好在安全模式下进行,以防系统正在使用 mshtml.dll 文件而导致卸载和关联失败。此法我也试过,对我无效,希望对其它网友有用。

       3、mshtml.dll 文件与系统上的其它软件程序不兼容而产生冲突,可升级系统补丁或升级相应软件。我把C盘格式化后重新安装了标准版系统,只装硬件驱动,未安装其它任何补丁和软件,也未对系统做任何类似优化的更改和设置,再打开先前曾经报错的网页,一切正常,尝试多种不同方法打开那网页,还是一切正常,再无报错,可以找到症结了。我的电脑安装了不下30种软件程序,要是逐个排查那工作量就太大了,只好寄希望于微软公司的Windows升级补丁。在微软下载中心的补丁海洋里游了大半天,找到N多关于IE及系统的补丁,难道让我把这些补丁全都装上?真要如此,即使解决了问题也不能知道问题的真谛,于是我把那些补丁个个解压,细细查看,发现几个和 mshtml.dll 及IE关系甚密的补丁,它们是 scripten、KB923996、KB937143、KB942615。在我反复尝试之下,发现解决我 mshtml.dll 报错问题的补丁就是KB937143,它把我的 mshtml.dll 由6.0.2900.2180 升级到了6.0.2900.3157。51

       至此,困扰我24小时的 mshtml.dll 报错问题总算得以解决。关于那几个关键补丁,大家可以去微软的网站查看、下载,下载和安装可要注意你的系统版本及语言种类,牛头对马嘴是会很别扭的。以上方法我是在XPSP2系统上测试的,对于那些非XPSP2系统的用户未必可行。

       4、如果实在找不到快捷的解决之法,建议格式化C盘后使用WindowsXPSP2标准安装版(非克隆版)的完好光碟重装系统,只安装好各种硬件的驱动程序,试试看是否能正常上网,理论上应该是可以恢复正常的。如果恢复正常,强烈建议用此时先用Ghost做个备份后再安装其它软件,以防不测;如果在纯系统和驱动的状态下仍然出错,那么你需要怀疑你的安装光盘或硬盘是否有问题,例如碟面损坏、低劣的破解版、硬盘有坏道等等。在安装其他软件之前,建议各位有必要先安装scripten、KB923996、KB937143、KB942615这几个系统补丁,因为它们对于解决软件和IE的兼容问题很有帮助。如果在安装了各种软件后IE又开始报mshtml.dll 的错,那么可以肯定,问题出在软件上,你要是非得把问题弄个水落石出的话,那你恐怕只能对你安装的软件实行逐个排查了。