如何解决IE如何找到已注册的ActiveX控件
我正在用qt构建一个activex控件。如果我将其注册为control-name.exe /regserver
,则IE11可以加载它。然后将寄存器条目写入HKEY_CLASSES_ROOT
和HKEY_LOCAL_MACHINE
。但是此Activex控件的用户没有管理员权限,因此我正努力在HKEY_CURRENT_USER
级别上注册此com服务器。
我尝试将CLSID
路径中HKEY_LOCAL_MACHINE
下的条目导出到reg文件,并将HKEY_LOCAL_MACHINE
替换为HKEY_CURRENT_USER
,然后将该reg文件重新导入(并删除具有相同CLSID
的其他条目)。但是IE11找不到Activex控件。这是否意味着IE11不会在CLSID
中寻找HKEY_CURRENT_USER
,而只会寻找HKEY_LOCAL_MACHINE
和HKEY_CLASSES_ROOT
?
我已经阅读了一些文章和文章,但是仍然不确定是否可以实现这种想法,例如“ 注册没有IE加载权限的com服务器”。例如,如果我找到了一种将每个注册表放入HKEY_CURRENT_USER
的方法(仍在运行),则IE可以加载我的activex控件吗?
有帮助吗?预先感谢。
更新: 这是我进行测试的方式:
- 以管理员用户身份运行
control-name.exe /regserver
- 将注册表导出到
.reg
个文件,然后删除这些注册表。 - 将
HKEY_CLASSES_ROOT
和HKEY_LOCAL_MACHINE
更改为HKEY_CURRENT_USER
- 使用没有管理员权限的用户登录,然后双击这些
.reg
文件。
我用RegCool搜索了注册表,发现注册表都在HKEY_CURRENT_USER/S-1-00.../...
下。 (S-1-00...
是一个数字序列。
解决方法
我建议您检查用户帐户是否有权访问您要尝试以管理员身份安装控件的文件夹?如果不是,则出于测试目的,尝试授予权限,并查看它是否对用户有效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。