J'ai un DLL qui cause une erreur lorsque j'exécute l'application . L'erreur indique que le service n'est pas enregistré. Je lance donc la commande regsvr32
avec le nom de la DLL. Mais cela me donne une erreur, maintenant l'erreur est la suivante:
Le module 'mydll.dll' a été chargé mais le point d'entrée 'DllRegisterServer' n'a pas été trouvé.
Assurez-vous que 'mydll.dll' est un fichier DLL ou OCX valide, puis réessayez.
J'ai travaillé sur Windows 7 64 bits. Sous Windows XP, cela fonctionne bien! ..____. Est-ce que quelqu'un sait ce que cela peut être?
J'ai eu ce problème et
dumpbin /exports mydll.dll
et
depends mydll.dll
a montré 'DllRegisterServer'.
Le problème était qu'il y avait une autre DLL dans le système qui portait le même nom . Après avoir renommé mydll, l'enregistrement a réussi.
L'erreur indique que la DLL n'est pas un COM DLL ou qu'elle est corrompue. S'il ne s'agit pas d'une COM DLL et que cette application ne l'utilise pas en tant que COM DLL, il n'est pas nécessaire de l'enregistrer.
D'après ce que vous dites dans votre question (the service is not registered)
, il semble que nous parlions d'un service qui n'est pas correctement installé. Je vais essayer de réinstaller l'application.
Ce qui l'a résolu pour moi utilisait:
regasm.exe 'xx.dll'/tlb/codebase/register
Cependant, il est important de comprendre la différence entre regasm.exe et regsvr.exe: