Si une DLL ou OCX est enregistrée par un utilisateur non-administrateur et que regsvr32 indique qu'elle a réussi, est-il toujours impossible d'être enregistré correctement?Si une DLL ou OCX est enregistrée par un utilisateur non-administrateur et que regsvr32 indique qu'elle a réussi, est-il toujours impossible d'être enregistré correctement?
Répondre
Oui. Par exemple, si RegCreateKeyEx
est fourni HKEY_CLASSES_ROOT
et que l'utilisateur n'est pas un administrateur, il crée la clé sous HKCU\Classes
. Sinon, si l'utilisateur est un administrateur, il créera la clé sous HKLM\Classes
.
(Notez la distinction HKCU par rapport à HKLM. Pour ceux qui ne sont pas au courant :)
HKCU = HKEY_CURRENT_USER
HKLM = HKEY_LOCAL_MACHINE
L'important est que certains accès au registre, comme l'exemple ci-dessus avec HKEY_CLASSES_ROOT
sont « démultiplexé "entre la machine et les arbres du registre de l'utilisateur, en fonction de l'accès de l'utilisateur.
Si l'entrée est créée sous HKCU, que se passera-t-il lorsque la DLL ou OCX est accédé? – CJ7
Cela fonctionne très bien pour l'utilisateur qui l'a installé et ne fonctionne pas pour un autre utilisateur. –
Y a-t-il des raisons de suspecter un échec d'enregistrement? – Eugene
Échec du logiciel. – CJ7