regsvr32 ne crée pas d'entrées dans la base de registre
J'ai un problème en essayant de registre DLL. Mon OS est Windows 7 (x64).
- Je le faire de deux façons différentes:
1) à l'Aide de regsvr32. Je reçois un message "DllRegisterServer ... succeedeed", néanmoins je ne peux pas trouver mon CLSID dans le registre. (Et je reçois "Classe non enregistrée" erreur lors de la tentative de créer une instace de composant avec cette CLSID).Dans ce cas, je sais que DllRegisterServer est jamais appelé (car j'ai créer un fichier texte dans le début de cette fonction et il n'est pas créé).
2) charger Explicitement ma DLL et appeler DllRegisterServer. Dans ce cas, DllRegisterServer retourne S_OK, mais je ne peux pas trouver mon CLSID dans le registre et obtenir "Classe non enregistrée" erreur.
Je suis sûr que le code est correct (il ne fonctionne pas seulement sur mon OS), il semble donc que le problème est dans l'OS. Quelqu'un a-face à un tel problème?
OriginalL'auteur skvadrik | 2011-06-25
Vous devez vous connecter pour publier un commentaire.
http://msdn.microsoft.com/en-us/library/aa384232(v=vs. 85).aspx devrait expliquer
Selon que votre fichier dll est 32 bits ou 64 bits). les clés de registre sont créées dans des endroits différents
Avez-vous lu le lien que j'ai posté ? Essayez le HKEY_CLASSES_ROOT\Wow6432Node\CLSID clé
Aussi est votre vocation, application 32 bits. 32 bits de l'application native ne peut charger les dll 32 bits et même avec 64 bits
J'ai enregistré manuellement, maintenant c'est ok. Encore je ne vois pas pourquoi regsvr32 ne pouvais pas le faire. Merci!!!! J'ai lu le lien, mais j'ai déjà cherché dans HKEY_CLASSES_ROOT\Wow6432Node\CLSID et d'autres répertoires ---- et mon CLSID n'était pas là.
OriginalL'auteur parapura rajkumar
Viens de résoudre un problème identique. J'ai ajouté manuellement à la 32-bit COM nouvelle interface, la mise en œuvre (MyNewClass) et le fichier rgs. Mais quand j'ai enregistré avec succès mon COM à l'aide de SysWow64\regsvr32.exe j'ai remarqué que mon ProgId/CLSID n'apparaissent pas sous HKCR\CLSID ou HKCR\Wow6432Node\CLSID
Donc, en fait j'ai raté quelques chose:
de ressources.h
définir IDR_xxx 105
ExistingCom.rc
IDR_xxx de REGISTRE pouvant être éliminée "MyNewClass.rgs"
OriginalL'auteur adspx5
Ligne de commande exécuter l'outil en tant qu'administrateur et exécutez ensuite la commande enregistrer regsvr32
OriginalL'auteur Mandar