views:

89

answers:

1

If a DLL or OCX is registered by a non-adminstrator user and regsvr32 says it succeeds, could it still fail to be registered properly?

+2  A: 

Yes. For example, if RegCreateKeyEx is supplied HKEY_CLASSES_ROOT and the user is not an administrator, it will create the key under HKCU\Classes. Otherwise, if the user is an admin, it will create the key under HKLM\Classes.

(Note the HKCU vs. HKLM distinction. For those who aren't aware:)

HKCU = HKEY_CURRENT_USER
HKLM = HKEY_LOCAL_MACHINE

The important thing is that some accesses to the registry, such as the example above with HKEY_CLASSES_ROOT are "demultiplexed" between the machine and user registry trees, according to the user's access.

Heath Hunnicutt
If the entry is created under HKCU, what will happen when the DLL or OCX is accessed?
Craig Johnston
It will work just fine for the user who installed it, and not work for any other user.
Heath Hunnicutt