【问题标题】:32 bits IE Toolbar not working in Win 8.1 64 bits RTM/IE1132 位 IE 工具栏在 Win 8.1 64 位 RTM/IE11 中不起作用
【发布时间】:2013-09-21 22:32:28
【问题描述】:

我正在尝试更新 32 位 IE 工具栏以在 Win 8.1 64 位 RTM/IE11 下工作。

没有任何特定更改,我的工具栏被 IE11 视为“不兼容”并被禁用。

我发现这是因为默认情况下在 IE11 上激活了增强保护模式(如果在 IE10 中激活了 EPM,我可能会遇到与 Win 8 相同的情况)。如果我在 IE>Internet 选项>高级>安全中停用 EMP,我的工具栏将按预期工作。但是因为这个选项很宽(它适用于每个 BHO、工具栏和 ActiveX),所以它不是一个可行的解决方法。

我看过 Eric Law 的Understanding Enhanced Protected Mode,但我还有几个问题:

  1. 有没有办法只为一个工具栏停用 EPM?
  2. 支持 EPM 有哪些要求?
    • 注册为 CATID_AppContainerCompatible?
    • 具有 32 位和 64 位二进制文​​件(是否必须)?
    • 如果我需要与同一台机器上已经运行的进程通信,请使用 localhost 而不是 127.0.0.1?
    • 阻止对本地资源(文件、注册表等)的任何写入或读取访问?
    • 还有什么?

Windows 7(无 AppContainer)下的 IE11 会受到哪些限制?

【问题讨论】:

  • 工具栏在 64 位 Windows 版本的 IE10 中是否有效?如果您的操作系统是 64 位,则主 IE 进程在 IE10 中是 64 位。如果是这种情况,则无法解决,因为您无法在 64 位主进程中运行 32 位插件。
  • @TravisO 是的,我的插件在 Win8/IE10 和 Win7/IE10 下工作。 IE 主进程是 64 位/中等完整性,因为我的插件只有 32 位,所以它由 32 位/低完整性 iexplorer.exe 进程托管。当我在 IE>Internet 选项>高级>安全中停用 EMP 时,这也是 Win8.1/IE11 中发生的情况

标签: internet-explorer windows-8.1 internet-explorer-11


【解决方案1】:

8.1 以 64 位运行浏览器。 您将不得不等到工具栏程序员发布 64 位版本。

【讨论】:

  • 谢谢,但我是这个工具栏的程序员,制作 64 位版本是一项艰巨的工作。但事实并非如此:即使在 Windows 8.1 64 位中,IE 11 也会启动 32 位进程才能加载 32 位组件。
【解决方案2】:

这是设计使然,正如您引用的我的博客所指出的那样。

  • 是的,在 64 位 PC 上运行时,即使在 32 位进程中,您也必须包含 32 位和 64 位版本的代码。
  • 是的,您必须在 AppContainerCompatible 类别中注册。
  • 适用所有资源 ACL 限制(例如,不要期望对注册表或文件系统进行 READ 访问)。
  • 环回网络连接总是会失败

【讨论】:

  • 我误读了您的博文。我希望能够从 AppContainer 中的 IE 工具栏与我的桌面进程进行通信。是否有任何 IPC 机制允许它?
  • 是的,如果您的 IPC 是适当的 ACL 的话。参见例如stackoverflow.com/questions/18982221/…
猜你喜欢
  • 1970-01-01
  • 2013-06-22
  • 1970-01-01
  • 2017-08-27
  • 1970-01-01
  • 2013-04-05
  • 2018-05-16
  • 2019-04-16
  • 1970-01-01
相关资源
最近更新 更多