我正在开发一个需要ActiveX控件才能运行的web应用程序。 当用户具有pipe理员权限时安装得很好,但是否则无法加载。 这是由devise,如果是这样,这是logging在某个地方? (最好是MSDN)
其实这些答案都不是完全正确的, 如果你在每个用户的基础上安装一个ActiveX控件,那么无论用户在哪个组,它都可以正常工作,而不需要管理权限。基本上,这包括将它安装到HKEY_CURRENT_USER而不是HKEY_LOCAL_MACHINE。
取决于你的ActiveX控件是写在这可能很容易或可能很难改变; 与ATL 9这很容易,因为你只需要调用一个函数:
AtlSetPerUserRegistration(perUser);
FireBreath在默认情况下会这样做 ,以便管理员权限不必安装插件/控件; 它也有一个老版本的ATL (ATL 9是VS 2008)的解决方法 。 这是所有的C ++,所以如果你的控件是写在别的东西我不知道如何解决它,但至少应该让你开始。
复杂的答案:是的。 该用户的帐户需要成为注册库(dll)或控件(ocx)或需要直接分配该特权的组的一部分。
简单的答案:不可以。只有管理员才能安装OCX或DLL的帐户可以安装Active-X控件( 默认情况下这些帐户是Administrators,Domain Administrators或Power Users组的一部分)。
编辑:我想这个问题已经改变了…是的,这是设计。
你可以使用IE8的Vista。
http://msdn.microsoft.com/en-us/library/dd433049%28VS.85%29.aspx