我们正在开发一个基于Web的销售点应用程序,该应用程序虽然主要运行在浏览器中,但也需要与诸如读卡器之类的硬件设备集成。为了提供硬件集成,我们使用ATL在C++中实现了几个简单的ActiveX控件。

我们不是经验丰富的Windows开发人员,并且难以理解ActiveX控件的安装过程和安全模型。显然,这是我们的用户实际能够运行我们的应用程序的前提。 :)

我们正在尝试确定典型的非特权用户(非管理员,非 super 用户)安装和更新特定 ActiveX控件(相对而言)所需的最细最严格的权限集是什么将签名的.cab文件中的 ActiveX控件添加到中)(通过HTTP作为网络应用程序的一部分提供)。对于XP(SP2 +)和IE6,以及最新的OS/浏览器组合,我们需要知道这一点。我们需要这些信息,以便我们可以帮助IT员工正确配置将在其上运行软件的计算机。

我们已经在Internet上进行了大量的挖掘工作,但是找不到足够的文档。我们还与Microsoft的一些人员进行了交谈,他们也无法向我们提供所需的信息。

使用Sysinternals进程监视器和一些试验和错误,我们已经能够确定以下注册表权限足以使无特权的用户得到提示,要求他们在XP SP2/IE6上安装ActiveX控件(即,用户将看到一个IE顶部的黄色栏,上面写着“此站点要安装某些软件”):

  • HKLM\Software\Microsoft\Tracing(仅 key ,创建子 key 权限)
  • HKLM\Software\Microsoft\Code Store Database(仅 key ,创建子 key 权限)

  • 实际上安装控件的过程要复杂得多,我们在整理它方面没有取得很大进展,这超出了人们通常需要用户写C:\windows\downloaded program files\HKLM\Software\Microsoft\Code Store Database\Distribution Units\{guid}的认识。

    (我们正在研究Vista和Windows 7以非特权用户身份安装ActiveX控件的功能,但我们也需要支持XP。我们还考虑采用AIR 2作为我们的平台,该平台提供了 native 代码集成,但这样做也没有不能满足我们的迫切需求。)

    最佳答案

    自从我不得不考虑开发嵌入在用于商业产品的网页中的ActiveX控件以来,已经有很多很多的月亮了。



    我记得的基本前提是,您必须至少实现一个特定的接口(interface)IObjectSafety,在组件注册期间添加几个特定的​​组件类别ID,并用来自受信任的CA
    的证书(例如Verisign)对.cab签名。

    退房:

  • Safe Initialization and Scripting for ActiveX Controls
  • Packaging ActiveX Controls
  • Non Admin ActiveX Controls

  • 如果这不起作用,请尝试获取local Microsoft Developer Evangelist,以帮助您指出正确的方向。

    如果您具有Microsoft支持契约(Contract),请与您的技术客户经理(TAM)或应用程序开发顾问(ADC)联系以获取其他帮助。

    祝你好运,

    ž

    关于windows - 安装和更新ActiveX控件需要什么权限?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1563560/

    10-11 22:15
    查看更多