Warm tip: This article is reproduced from serverfault.com, please click

how does IE find registered activex control

发布于 2020-11-12 17:32:33

I am building a activex control with qt. If I register it as control-name.exe /regserver, IE11 can load it. And register entries was writen to HKEY_CLASSES_ROOT and HKEY_LOCAL_MACHINE. But user of this activex control do not have admin rights, so I am struggling to register this com server on HKEY_CURRENT_USER level.

I have tried export entries under the CLSID in HKEY_LOCAL_MACHINE path to a reg file, and replace HKEY_LOCAL_MACHINE with HKEY_CURRENT_USER, then import this reg file back (and delete other entries with the same CLSID). But IE11 could not find the activex control. Does this mean IE11 does not look for CLSID in HKEY_CURRENT_USER, but only HKEY_LOCAL_MACHINE and HKEY_CLASSES_ROOT?

I have read some posts and articles, but still not sure whether this idea, as 'register com server without admin rights for IE to load', is achievable. For example, if I found a way to put every registry into HKEY_CURRENT_USER (still working on it), could IE load my activex control?

Any help? Thanks in advance.

update: This is how I did the test:

  1. run control-name.exe /regserver with admin user
  2. export registry to .reg files then delete these registry.
  3. change HKEY_CLASSES_ROOT and HKEY_LOCAL_MACHINE to HKEY_CURRENT_USER
  4. login with a user without admin rights and double click these .reg files.

I searched registry with RegCool and saw the registry are all under HKEY_CURRENT_USER/S-1-00.../.... (S-1-00... is a serial of numbers).

Questioner
YouCL
Viewed
0
Deepak-MSFT 2020-12-07 16:18:06

I suggest you check whether the user accounts has permission to access the folder from where you are trying to install the control as an admin? If not, then for testing purposes try to grant permission and see whether it works for users or not.