【问题标题】:Firebreath plugin can't be loaded in IE9/IE10 if running IE as administrator如果以管理员身份运行 IE,则无法在 IE9/IE10 中加载 Firebreath 插件
【发布时间】:2013-08-11 08:36:24
【问题描述】:

我的firebreath插件在IE9/IE10正常打开IE时运行良好,直到有一天我不知不觉地以管理员身份打开IE,插件就是无法加载。我还尝试了在这种情况下也无法加载的 Firebreath 示例插件。

我检查了 IE 兼容性测试工具记录的事件,发现 IE 只是无法实例化我的插件。我想这可能与一些 IE 安全设​​置有关,我已经尝试了很多 IE 选项的修改,但仍然无法正常工作。

经过多次尝试,我发现了一个解决方法,如果我禁用UAC(用户帐户控制)并重新启动计算机,那么以管理员身份运行IE时插件可以成功加载。 另一方面,我也尝试了其他插件(不是由 Firebreath 创建的),例如Microsoft Windows Media Player 控件,我有一个简单的页面嵌入它,并以管理员身份在 IE10 中打开它,可以加载并且运行良好。

所以,我不知道我的 firebreath 插件是否有问题,或者我需要找出一些选项来更改。任何建议都可以接受。

【问题讨论】:

  • 运行进程监视器并观察哪些注册表引用或文件访问在 Admin 场景中失败,但在 User 场景中没有。

标签: internet-explorer activex uac firebreath


【解决方案1】:

原因很可能是因为 firebreath 默认按用户安装,这意味着当您以管理员身份运行它时,它不会为管理员用户安装。

PluginConfig.cmake 文件中有一个设置,您可以更改它以使其成为每台机器;这意味着您需要管理员权限才能安装它,但它应该适用于所有用户。

【讨论】:

  • 出租车司机您好,感谢您的回复。首先我的用户帐户实际上是管理员,插件安装在“C:\Users\me\AppData\Roaming\myplugin\”下。直接点击运行 IE 时,插件在非管理员模式下运行良好,但如果显式以管理员身份运行,插件无法加载。其次,我还尝试了您的建议,即在每台机器上制作插件,但它也不起作用。您可以尝试也可以重现此问题的 firebreath 示例插件。
  • 你好出租车司机,事实证明你是对的。将插件注册为每台机器将解决此问题。以前,我认为它不起作用,因为我的 nsis 安装程序没有做正确的工作,它明确地将寄存器写入 HKCU。现在我把它改成HKLM,就可以了。
【解决方案2】:

我们遇到了一个问题,因为如果您在保护模式下写入磁盘,IE9 会使用影子文件系统,这会导致问题。从 AppData/Roaming 更改为 AppData/LocalLow 可以让我们正确编写并且不会让我们的插件崩溃。

不确定这是否是问题所在,但花了一段时间才弄清楚所以在这里发布。 UAC 是它不能写的原因。

【讨论】:

    猜你喜欢
    • 2018-03-24
    • 1970-01-01
    • 2017-05-19
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 2019-05-17
    相关资源
    最近更新 更多