3

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

4

3 回答 3

3

实际上,这些答案都不是完全正确的。如果您以每个用户为基础安装 ActiveX 控件,则无需管理权限即可正常工作,无论用户所在的组如何。基本上这涉及将其安装到 HKEY_CURRENT_USER 而不是 HKEY_LOCAL_MACHINE。

根据您的 activex 控件编写的内容,这可能很容易,也可能很难更改;使用 ATL 9 这很容易,因为您只需要调用一个函数:

AtlSetPerUserRegistration(perUser);

FireBreath默认执行此操作,因此无需管理员权限即可安装插件/控件;它还为旧版本的 ATL 提供了解决方法(ATL 9 是 VS 2008)。这都是 C++,所以如果你的控件是用别的东西写的,我不知道如何修复它,但这至少应该让你开始。

于 2011-09-19T15:35:18.127 回答
1

复杂的答案:是的。 用户的帐户需要是提供注册库 (dll) 或控件 (ocx) 权限的组的一部分,或者需要直接分配权限。

简单的回答:不可以。只有具有安装 OCX 或 DLL 的管理权限的帐户才能安装 Active-X 控件(默认情况下,这些帐户是管理员、域管理员或高级用户组的一部分)。

编辑:我想这个问题已经改变了......是的,这是设计使然。

于 2008-12-03T21:03:01.970 回答
1

如果将 Vista 与 IE8 一起使用,则可以。

http://msdn.microsoft.com/en-us/library/dd433049%28VS.85%29.aspx

于 2009-10-23T05:37:19.433 回答