J'utilise Visual C++. Je voudrais vraiment avoir seulement la DLL enregistrée pour l'utilisateur actuel, même si les utilisateurs sont un administrateur.Auto-inscription de la DLL: comment s'inscrire uniquement pour l'utilisateur actuel?
Pour cette raison, j'ai changé toutes les références project.rgs
à HKCR. Mais, en utilisant Process Monitor tout en utilisant regsvr32
pour enregistrer la DLL, je remarque qu'il essaie toujours de créer HKCR\TypeLib\{ ... }
. Cela se passe sur l'appel à CComModule::RegisterServer()
.
Est-ce inhérent à CComModule
? Y at-il quelque chose qui me manque, en termes de configuration de Visual C++? Je sais que je peux utiliser RegOverridePredefKey
, mais je ne veux pas charger plus de DLL, et ce n'est pas une solution très élégante.
Le paramètre BOOL dans RegisterServer (..) est si enregistrer le typelib, pas pour contrôler le par utilisateur. –
Oui, exactement. Ce paramètre détermine si le code d'enregistrement du typeplib sera appelé. Le problème de l'OP est qu'après avoir lancé son fichier .rgs dans le registre, le code d'enregistrement de typlib est également invoqué et est lancé dans la clé "HKCR \ TypeLib \ {Quelquechose} – sharptooth
Eh bien, je ne veux pas * ne pas m'inscrire Je veux juste le faire enregistrer dans 'HKCU \ Software \ Classes \ TypeLib' – known