我正在开发一个需要ActiveX控件才能运行的Web应用程序。当用户具有管理员权限时,它安装得很好,但是否则无法加载。这是设计的吗?如果是这样,这是在某处记录的吗? (最好是MSDN)
答案 0 :(得分:3)
实际上,这些答案都不完全正确;如果你以每个用户为基础安装一个ActiveX控件,它将在没有管理员权限的情况下正常工作,无论用户所在的组如何。基本上这涉及将它安装到HKEY_CURRENT_USER而不是HKEY_LOCAL_MACHINE。
根据您编写的activex控件的内容,这可能很容易,也可能很难更改;使用ATL 9非常简单,因为你只需要调用一个函数:
AtlSetPerUserRegistration(perUser);
FireBreath默认执行此操作,因此无需管理员权限即可安装插件/控件;它也有workaround for older versions of ATL(ATL 9是VS 2008)。这都是C ++,所以如果您的控件是用其他东西编写的,我不知道如何修复它,但这至少应该让您开始。
答案 1 :(得分:1)
复杂答案:是。用户的帐户需要成为提供注册库(dll)或控件(ocx)或需要直接分配权限的组的一部分。< / p>
简单回答:否。只有具有安装OCX或DLL的管理权限的帐户才能安装Active-X控件(通过默认这些帐户是管理员的一部分,域管理员或高级用户组。)
编辑:我想这个问题已经改变了......是的,这是设计的。
答案 2 :(得分:1)
如果将Vista与IE8一起使用,则可以。
http://msdn.microsoft.com/en-us/library/dd433049%28VS.85%29.aspx