automation创建对象失败解决办法

以下方法绝对可行。
regsvr32 shimgvw.dll
regsvr32 scrobj.dll
regsvr32 shell32.dll
regsvr32 scrrun.dll

------------------------------------------------------------------------------------------------
解决"automation 服务器不能创建对象"的方法

今天冲浪发现我的IE在使用一些网页功能时出现"automation 服务器不能创建对象",按照网上说的方法做了也不行,最后在IE出错时使用了脚本调试,发现网页使用了adodb.stream 对象,看来是我的系统禁用了此对象,所以不能使用,按照以下方法开启,IE正常!!

第一步:
"Automation 服务器不能创建对象" 的解决方法

访问某些网站的时候,如果出现"Automation 服务器不能创建对象"的错误提示框,表明网页内的对象需要scrrun.dll的支持,可以尝试下面的方法:

开始--运行--regsvr32 scrrun.dll

不用重新安装操作系统和vs.net
有些脚本需要微软的 MSXML 控件才能进入。当使用 IE 5 以上版本的缺省安全模式时,会提示是否接受 MSXML 控件,如果接受,MSXML 将自动安装到您的机器上(得等上几分钟)。如果自动安装不成功,可以自行下载和安装 MSXML 3.0。
如果安装 MSXML 3 后仍然出现 'Automation 服务器不能创建对象' 错误,是因为您的机器禁止了所有的 ActiveX, 一般将 IE 的安全模式设为“中”即可。


第二步:(启用)
简介
ado 流对象指内存中的一个文件。此流对象包含用于读写二进制文件和文本文件的几种方法。当此项特意设计的功能与 microsoft internet explorer 中的已知安全漏洞组合后,internet 网站就可以从本地计算机区域执行脚本。出现此问题的原因是,当 internet explorer 中存在 adodb.stream 对象时,adodb.stream 对象允许对硬盘进行访问。
任何需要将文件加载或保存到硬盘上的行业 web 应用程序都可能会在 internet explorer 中使用 adodb.stream 对象。例如,如果 intranet 服务器上存有一个需要员工下载并填写的表,adodb.stream 对象就会被用来获取此文件并将其保存在本地。用户在本地编辑完此文件并将其提交回服务器后,adodb.stream 对象则用来从本地硬盘中读取此文件并将其发送回服务器。

禁用

要通过手动创建注册表项来禁用 adodb.stream 对象,请按照下列步骤操作:
1. 关闭所有打开的 internet explorer 浏览器窗口。
2. 单击“开始”,然后单击“运行”。
3. 在“打开”框中,键入 regedit,然后单击“确定”。
4. 在注册表编辑器中,找到以下注册表项:
hkey_local_machine\software\microsoft\internet explorer\activex compatibility
5. 右键单击“activex compatibility”,指向“新建”,然后单击“项”。
6. 为新项键入下面的名称:
{00000566-0000-0010-8000-00aa006d2ea4}
7. 右键单击此新项,指向“新建”,然后单击“dword 值”。
8. 将此值命名为 compatibility flags。
9. 在右窗格中,右键单击“compatibility flags”,然后单击“修改”。
10. 在“编辑 dword 值”对话框中,确保选中“十六进制”选项,在“数值数据”框中键入 400,
然后单击“确定”。
11. 关闭注册表编辑器。


重新启用

如果您在企业 intranet 环境中运行应用程序,而企业 intranet 环境当前在 internet explorer 中使用 adodb.stream 对象,则应用此更新可能导致应用程序停止运行。要恢复应用程序功能,microsoft 建议首先将您的 internet explorer 浏览器的安全级别设为“高”,然后必须清除 adodb.stream 对象的兼容性标记。 1. 要将您的 internet explorer 浏览器设置为高安全级别,请按照下列步骤操作: a. 在 internet explorer 中,单击“工具”菜单中的“internet 选项”。
b. 单击“安全”选项卡。在“请为不同区域的 web 内容指定安全设置”下单击“internet”。
c. 单击“默认级别”,然后将滑块移到“高”。
d. 单击“应用”,然后单击“确定”关闭“internet 选项”对话框。

2. 将 internet explorer adodb.stream 对象的兼容性标记的值设置为零 (0x0) 以清除该标记。将该值设定为零 (0x0) 可禁用此项并恢复功能。要手动将兼容性标记设置为零,请按照下列步骤操作: a. 单击“开始”,然后单击“运行”。
b. 在“打开”框中,键入 regedit,然后单击“确定”。
c. 在注册表编辑器中,找到以下注册表项:
hkey_local_machine\software\microsoft\internet explorer\activex compatibility\{00000566-0000-0010-8000-00aa006d2ea4}
d. 在右窗格中,双击“compatibility flags”。
e. 在“编辑 dword 值”对话框中,确保选中“十六进制”选项,在“数值数据”框中键入 0,然后单击“确定”。
f. 关闭注册表编辑器。

注意:必须重新启动 internet explorer,更改才能生效。

原文地址:https://www.cnblogs.com/amylis_chen/p/1942973.html