我们正在开发一个基于网络的销售点应用程序,虽然它主要在浏览器中运行,但也需要与信用卡读卡器等硬件设备集成。为了提供硬件集成,我们使用ATL在C ++中实现了几个简单的ActiveX控件。
我们不是Windows开发人员,也很难理解ActiveX控件的安装过程和安全模型。显然,这是我们的用户实际能够运行我们的应用程序的先决条件。 :)
我们正在尝试确定典型的非特权用户(非管理员,非高级用户)所需的最细粒度和最严格权限集从作为Web应用程序一部分通过HTTP提供的签名.cab文件安装和更新特定 ActiveX控件(而不是任何 ActiveX控件)。我们需要知道这个XP(SP2 +)& IE6,以及更新的OS /浏览器组合。我们需要这些信息,以便我们可以帮助我们的IT人员正确配置运行软件的机器。
我们在互联网上做了很多挖掘,但却找不到足够的文档。我们还与微软的一些人进行了交谈,他们也无法向我们提供我们所需的信息。
使用Sysinternals进程监视器和一些试验和错误,我们已经能够确定以下注册表权限足以使非特权用户被提示在XP SP2 / IE6上安装ActiveX控件(即用户将看到IE顶部的黄色栏说“这个网站想要安装一些软件”):
HKLM\Software\Microsoft\Tracing
(仅限密钥,创建子密钥权限)HKLM\Software\Microsoft\Code Store Database
(仅限密钥,创建子密钥权限)实际安装控件的过程要复杂得多,除了用户需要写入{{1}的一般意识外,我们在排序方面没有取得多大进展。 }和C:\windows\downloaded program files\
(我们正在调查Vista和Windows 7作为无特权用户安装ActiveX控件的能力,但我们也需要支持XP。我们也在考虑采用AIR 2作为我们的平台,它提供本机代码集成,但是这也无法解决我们的迫切需求。)
答案 0 :(得分:3)
由于我不得不关注开发嵌入在商业产品网页中的ActiveX控件,因此已经有很多很多月亮。
Kudo会对你和你的团队做的 事情正确。我也见过 许多商业,网络, 应用迫使企业 降低安全要求 Internet Explorer因为它们 不能花时间去正确 包装他们的申请。
我记得的基本前提是您必须实现至少一个特定的界面IObjectSafety,在组件注册期间添加几个特定的组件类别ID,并使用证书签署您的.cab来自受信任的CA ,例如Verisign。
退房:
如果这不起作用,请尝试抓住local Microsoft Developer Evangelist以帮助您找到正确的方向。
如果您拥有Microsoft支持合同,请联系您的技术客户经理(TAM)或应用程序开发人员顾问(ADC)以获取更多帮助。
祝你好运,
ž