编辑:查看文章末尾以获得更多信息。
我试图让插件通过火呼吸框架(1.7.0)来加载。我是在Windows 8的桌面模式使用Internet 10。我已经复制了内置测试FBTtestPlugin随火呼吸。失败是无声的,因为对象元素是创建的,但是没有插件指定的任何属性。如何进行调试?兼容性工具报告插件无法加载。

( FBTtestPlugin加载三个插件,因此出现三个错误。)
我让其他(非FB)插件在相同的设置上工作(例如这里的例子:http://msdn.microsoft.com/en-us/library/dd565667(v=vs.85).aspx )。
我尝试了大量的安全设置,但以下是迄今为止我所拥有的最轻松的设置:


注意:我不打算保留这些设置。我只想让插件工作,然后向后工作,重新启用安全设置。
UPDATE --我发现了部分原因,现在可以运行FB测试FBTestPlugin了。为了简化IE的调试,我将注册表项HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\TabProcGrowth定义为0,以限制浏览器使用一个进程。不幸的是,使用IE10,程序文件中的iexplore.exe和程序文件(x86)都直接指向64位版本的IE.这防止了32位插件的运行(参见http://support.microsoft.com/kb/2716529 ),其症状是无声的失败.
但是,我的插件仍然无法在IE中加载,上面提到的问题仍然是开放的。问题仍然是无声的负载失效。不过,我认为这可能与插件配置有关。兼容性测试工具中列出的CLSID (如上面所示的示例)被列为所有的0,而不是一个有效的GUID。此外,注册表看起来很奇怪:键HKCR\Company.Name与HKCR\Company.Name.1一样存在,但两者都是空的(而不是像正常工作的插件那样有一个CLSID子程序)。预期的GUID确实存在,但使用的是假名“applications.”。现在我正在深入研究在运行regsvr32时被调用的代码。
谢谢大家!
发布于 2013-06-26 22:39:46
我提供这个答案是希望有人能利用这个结果。
IE没有加载插件有两个原因。1) TabProcGrowth注册表项和IE10的32/64位问题。( http://support.microsoft.com/kb/2716529 )不定义此键。
2)我的插件描述使用了撇号。(“Gluttco的插件”),这扰乱了组件的注册。
详细信息2):我通过DllRegisterServer代码进行了跟踪,发现虚假的注册表项是因为我的插件描述包含一个撇号。例如。“乔的插件”生成器(fbgen.py/cmake)生成一个格式错误的FBControls.rgs文件(它没有转义引号,因此包含一个字符串文本,例如(s‘s’s jo‘s酷plugin))。DllRegisterServer代码(从regsvr32调用)使用了该文件的内容(嵌入式?)当(在地下)时。奇怪的是,解析器没有检测到错误(或者错误地恢复了错误)。在Process中,我可以看到一堆伪键正在添加,然后它又开始添加良好的注册表项。
目前,火呼吸插件的描述不应该包含撇号(可能其他字符也是非法的)。让fbgen.py检查这些字符并可能转义、拒绝或替换它们可能是明智的。
发布于 2013-06-26 02:15:33
搜索发现如下:http://msdn.microsoft.com/en-us/library/dd565667(v=vs.85).aspx
您有任何可能影响它的组策略吗?我不认为这与FireBreath直接相关,而是与activex配置有关.
我还找到了http://social.technet.microsoft.com/Forums/windows/en-US/90c3202c-448b-42b7-acf7-dab8dba7b000/one-or-more-activex-controls-could-not-be-displayed-because-either,它有一些您可以尝试的东西。
https://stackoverflow.com/questions/17304860
复制相似问题