IE8的加载项仅在从Visual Studio调试时可见

时间:2013-12-17 15:55:02

标签: c++ visual-studio-2010 internet-explorer-8 bho

我在这里关注为Internet Explorer 8创建BHO的C ++示例:http://msdn.microsoft.com/en-us/library/bb250489.aspx

我设法编译和调试扩展没有问题(我使用Visual Studio 2010)。如果IE是从调试器启动的,当我点击“工具”时,我可以在IE中看到我的所有插件 - > “管理加载项”。但是,当我直接启动IE8(通过双击其图标) - 我没有看到插件。我100%确定我已经使用regsvr32.exe注册了插件。 我甚至试图以“管理员”的身份运行IE8,但没有任何改变。

当我在不使用调试器的情况下启动IE8时,为什么我的插件会消失?

1 个答案:

答案 0 :(得分:1)

如果您有一个64位系统,很可能在调试器下运行32位IE,而从桌面启动64位IE。然后,如果您从SysWOW64目录运行regsvr32.exe,那么只有32位IE才能看到该附加组件。

要解决这个问题,您需要:

  • 制作64位版本的解决方案,在Visual Studio中创建64位构建配置非常清楚地解释here
  • 使用c:\​​ Windows \ System32中的regsvr32注册生成的dll而不是C:\ Windows \ SysWOW64