首页 文章

以编程方式下载并安装activex(.cab)[重复]

提问于
浏览
3

这个问题在这里已有答案:

我们正在迁移到Windows 7(启用UAC),这阻止了标准用户为内部Web应用程序安装ActiveX控件 .

我可以访问本地管理员帐户,我可以升级,我可以轻松获取所需的.cab文件 . 是否有一种简单的方法来安装它们以使.inf文件得到尊重?有问题的.inf文件包含用于控制安装的钩子,因此我不想简单地在包含的.ocx文件上调用regsvr32 .

基本上我想用C#模拟IE安装过程,文件出现在“Downloaded Program Files”中,所有注册表设置都是正确编写的,等等 .

顺便说一下,我注意到Win7机器有一个“ActiveX安装服务”,但似乎没有启用/配置 .

Additional Information

这个问题已被标记为重复,它肯定与原始问题类似,但在我的方案中,我可以访问本地管理员帐户,所以我的问题是专门关于模拟IE安装过程而不是克服UAC限制 . @Ben使用advpack(通过rundll32)提出了一个解决方案,但是我无法在我的环境中使用它,尽管我会继续调查 .

与此同时,我已经能够实现一个使用IE完全复制安装行为的暴力方法 . 这需要将文件定位并解压缩到“Downloaded Program Files”目录,在提取的ocx / dll文件上调用regsvr32,然后将条目添加到以下注册表位置:

HKLM \ SOFTWARE \ Microsoft \ Code Store数据库\分发单元HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ ModuleUsage HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ SharedDlls

我目前无法用这些信息回答我自己的问题 .

1 回答

  • 1

    使用组策略,MOM或类似方法滚动所需的组件 .

    您只需要编写正确的命令行来执行组件的管理安装,然后将其添加到登录脚本或类似文件中 . 一旦“为所有用户”安装了组件,那么问题就会消失 .

    至于如何做到这一点,这是一个不同的问题:

    确保您作为管理帐户或提升帐户运行 .

相关问题