是否可以在没有管理员权限的情况下在IE中安装ActiveX控件? [英] Can you install an ActiveX control in IE without having administrator privileges?

查看:258
本文介绍了是否可以在没有管理员权限的情况下在IE中安装ActiveX控件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个需要ActiveX控件才能运行的网络应用。当用户具有管理员权限时,它可以很好地安装,但否则无法加载。这是设计使然吗,如果是这样,是否记录在某处? (最好是MSDN)

I'm working on a web app that needs an ActiveX control to function. It installs just fine when the user has admin privileges, but fails to load otherwise. Is this by design and if so, is this documented somewhere? (preferably MSDN)

推荐答案

实际上,这些答案都不是完全正确的。如果您按用户安装ActiveX控件,则无论用户所在的组是什么,它都可以在没有管理特权的情况下正常工作。基本上,这涉及到将其安装到HKEY_CURRENT_USER而不是HKEY_LOCAL_MACHINE。

Actually, none of these answers are completely correct; if you install an ActiveX control in a per-user basis it will work just fine without Administrative privileges, regardless of the group that the user is in. Bascially this involves installing it to HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE.

这取决于您编写的activex控件可能很容易,也可能很难更改;使用ATL 9,这非常简单,因为您只需要调用一个函数即可:

Depending on what your activex control is written in this may be easy or it may be hard to change; with ATL 9 it's pretty easy, as you just have to call a function:

AtlSetPerUserRegistration(perUser);

FireBreath 默认情况下会执行此操作,因此无需管理员权限即可安装插件/控件;对于旧版本的ATL,它还具有解决方法(ATL 9是VS 2008)。这都是C ++,所以如果您的控件是用其他方式编写的,我不知道如何解决它,但这至少应该可以帮助您入门。

FireBreath does this by default so that admin privileges aren't neccesary to install the plugin/control; it also has a workaround for older versions of ATL (ATL 9 is VS 2008). This is all C++, so if your control is written in something else I don't know how to fix it, but that should at least get you started.

这篇关于是否可以在没有管理员权限的情况下在IE中安装ActiveX控件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆