IE9,使用 CertEnroll.dll 时自动化服务器无法创建对象错误

Posted

技术标签:

【中文标题】IE9,使用 CertEnroll.dll 时自动化服务器无法创建对象错误【英文标题】:IE9, Automation server can't create object error while using CertEnroll.dll 【发布时间】:2013-03-19 03:20:12 【问题描述】:

在我的网页中,JS 块是这样的:

var classFactory = new ActiveXObject("X509Enrollment.CX509EnrollmentWebClassFactory");

// Other initialize CertEnroll Objects

它在windows7(32bit or 64bit)IE8(32bit) 中运行良好,只要我更改 IE8 安全设置,启用 Initializing 和 Script ActiveX 控件未标记为安全。

但是当我使用 IE9(32bit) 时,我尝试了我在网上找到的任何东西,它报告错误“自动化服务器无法创建对象。”

我什至创建了一个静态html文件,将它保存在我的硬盘中,然后用IE9(32位)打开​​它,它工作正常。然后我把html文件放到我的网站上,用url访问html文件,然后又出现了错误信息。

我已经解决这个问题 4 天了,任何建议都将不胜感激。

3Q。我希望你能读懂我的话,因为我不是以英语为母语的人。

【问题讨论】:

我重置了 IE9 设置,然后再次尝试安全设置,然后就可以了。因此,IE9 设置中的某些内容阻止了 certenroll activex 对象的运行。我应该备份注册表状态以比较差异。我希望这个问题可以帮助到你。 您的网站是否添加到信任区域? IE10和IE11(也可能是IE9)有一个bug,如果你设置了自定义安全级别,然后使用“将所有区域重置为默认级别”按钮,然后查看设置通过“自定义级别...”,单选按钮将无法准确反映重置设置。确保在使用“重置所有区域”后点击确定关闭 Internet 选项,然后通过“自定义级别...”检查设置,单选按钮将反映真实设置。 您好先生,您能分享您的代码吗?我需要它 【参考方案1】:

a) 转到工具-->Internet 选项

b) 选择安全标签

c) 点击受信任的站点(或本地 Intranet,具体取决于您的站点是否受信任)

d) 点击自定义关卡

e) 确保启用“初始化和编写活动 x 控件未标记为可安全执行脚本” - 这位于滚动条 1/4 处的 Activex 控件和插件部分。

点击确定,确定。

完成后,清除浏览器 cookie 和缓存。关闭所有浏览器会话。重新打开 IE 以启动您的网站。

尝试禁用步骤 (e) 中的设置以查看问题是否再次出现 - 这应该可以更深入地了解问题。

【讨论】:

感谢您的回答。正如我的问题中所述,步骤(e)之前已经完成,但没有任何帮助。它只发生在一台PC上。在我重置 IE 设置后,它就再也没有出现过。 «初始化和脚本活动 x 控件未标记为安全脚本»是我的原因。 这也解决了我的问题。如果由于任何原因该选项显示为灰色,请尝试直接更改 regkey,stigviewer.com/stig/microsoft_ie_version_7/2014-07-03/finding/… 也为我工作!谢谢 。是否可以在 chrome 或 firefox 甚至 edge 而不是 IE 中执行相同的任务?

以上是关于IE9,使用 CertEnroll.dll 时自动化服务器无法创建对象错误的主要内容,如果未能解决你的问题,请参考以下文章

IE9 下div自动变大变小问题

js或者jQuery实现在ie9以下浏览器中自动出现升级提示

怎样把WebBrowser控件放到IE9成标准?

IE9怎么设置阻止弹出窗口

自动换行在 Internet Explorer 中不起作用

IE9:设置 document.domain 时访问被拒绝