Internet explorer 如何将.cab安装到FireBreath ActiveX的IE中,使其同时适用于管理员和标准用户

Internet explorer 如何将.cab安装到FireBreath ActiveX的IE中,使其同时适用于管理员和标准用户,internet-explorer,activex,firebreath,cab,Internet Explorer,Activex,Firebreath,Cab,我使用Firebreath构建了一个插件,我们使用.cab安装在IE中。 (我知道taxilian建议使用.msi,我必须证明浏览器内安装无法正常工作,然后我才能销售该概念,并不是说我不希望有一天尝试。) 通常,无论发生什么情况,控件都可以正常安装,但显然在某些情况下(尚未锁定…),Win7上的标准用户将被提示输入管理员凭据并提供这些凭据,而该控件似乎并未安装在浏览器中。这个问题是在IE9上报告的,但我不知道它是针对IE9和IE10的 问题,问题: 即使在.cab安装期间,Firebreath

我使用Firebreath构建了一个插件,我们使用.cab安装在IE中。 (我知道taxilian建议使用.msi,我必须证明浏览器内安装无法正常工作,然后我才能销售该概念,并不是说我不希望有一天尝试。)

通常,无论发生什么情况,控件都可以正常安装,但显然在某些情况下(尚未锁定…),Win7上的标准用户将被提示输入管理员凭据并提供这些凭据,而该控件似乎并未安装在浏览器中。这个问题是在IE9上报告的,但我不知道它是针对IE9和IE10的

问题,问题:

  • 即使在.cab安装期间,Firebreath的DllRegisterServer也会被调用
  • 如果在安装过程中提示并提供管理员凭据,则控件的安装是否与该管理员是当前用户一样?所以我需要通过FB_ATLREG_MACHINEWIDE为所有用户安装配置Firebreath
  • 如果我在.inf中放置一个[InstallScope],它如何与FB_ATLREG_MACHINEWIDE交互?如果用户选择按用户安装,但定义了FB_ATLREG_MACHINEWIDE,该怎么办

帮助我,欧比·塔克斯里安,你是我唯一的希望;-)

要在计算机范围内安装,只需从
pluginFig.cmake
文件中取消注释:

# If you want to register per-machine on Windows, uncomment this line
set (FB_ATLREG_MACHINEWIDE 1)

这将使ATL在每台机器上注册,并告诉它对mozilla插件安装密钥使用HKLM。

注意,您可以使用cab安装MSI。。。您只需将msi包装在exe中并将其放入cab。firebreath代码库中有一个示例,尽管我自己不支持它(从未使用过)。