gpt4 book ai didi

internet-explorer - 在 Windows Vista 和 7 上安装 .cab 文件 (ActiveX) 的问题

转载 作者:行者123 更新时间:2023-12-03 23:40:35 26 4
gpt4 key购买 nike

我制作了一个 ActiveX 控件,并制作了它的 .cab 文件,以便使用 Internet Explorer 在客户端计算机上自动安装。它在 Windows XP 上运行良好,但在 Windows Vista 和 Windows 7 上,它的安装被 UAC(用户帐户控制)阻止,当我禁用它时,一切正常......我已经用开发环境证书签署了我的 .cab 文件......解决这个问题的方法是什么......我不想告诉用户禁用他们的 UAC 模块...

最佳答案

这很可能是因为您试图在 HKEY_LOCAL_MACHINE 中注册您的控件,这是 ATL 中的默认设置。如果您将控件更改为在 HKEY_CURRENT_USER 中注册(启用 UAC 并且您未提升权限时唯一可访问的注册表部分),您应该没问题。

如果你使用 VS2008 和 ATL,你可以通过调用:
AtlSetPerUserRegistration(perUser);
在旧版本中,您需要更多的技巧。这是我们用来解决 FireBreath 问题的一个类,FireBreath 是我帮助维护的跨浏览器插件框架:

http://code.google.com/p/firebreath/source/browse/src/ActiveXPlugin/axutil.cpp
http://code.google.com/p/firebreath/source/browse/src/ActiveXPlugin/axutil.h

那么你只需要输入:FbPerUserRegistration perUser(true);在您的 DllRegisterServer 和 DllUnregisterServer 入口点中。

或者(我不使用 .cab 安装,所以我没有尝试过),但是 msdn 上有一个文档讨论了修改 .cab 安装以执行此操作的方法,不需要修改您的控件:

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

另一个快速说明,您可以使用 Process Monitor 查看您在注册控件时使用的键;摆弄过滤器需要一些练习,但是一旦掌握了它,它就不错了。如果您正在写信给 HKCR (HKEY_CLASSES_ROOT),默认情况下会将内容放在 HKEY_LOCAL_MACHINE/Software/Classes 中。您想要做的(避免没有管理员权限的问题)是将 key 放在 HKEY_CURRENT_USER/Software/Classes 中。

希望有帮助

关于internet-explorer - 在 Windows Vista 和 7 上安装 .cab 文件 (ActiveX) 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1769623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com