web-dev-qa-db-fra.com

Inscrire comdlg32.dll obtient Regsvr32: point d'entrée DllRegisterServer introuvable

J'ai Windows 7, 64 bits.

J'essaye d'enregistrer un .dll (comdlg32.dll) en utilisant regsvr32. Mais je reçois une erreur qui dit que la dll est lue mais que le point d’entrée DLLRegistryServer n’est pas trouvé.

J'ai exécuté la commande sous System32 et SysWOW64 et j'ai exécuté mes commandes avec "Exécuter en tant qu'administrateur".

Mon ancien composant MSComDlg.CommonDialog ne fonctionne plus avec 64 bits.

49
disasterkid

Exécutez cette commande:

dumpbin /exports comdlg32.dll

Vous verrez probablement que comdlg32.dll ne contient pas de méthode DllRegisterServer. Par conséquent, RegSvr32.exe ne fonctionnera pas.

C'est ta réponse.

ComDlg32.dll est un composant système. (existe à la fois dans c:\windows\system32 et c:\windows\syswow64) Essayer de le remplacer ou de remplacer tout enregistrement avec une version plus ancienne pourrait corrompre le reste de Windows.

Je peux aider davantage, mais j'ai besoin de savoir ce qu'est MSComDlg.CommonDialog. Que fait-il et comment est-il censé fonctionner? Et quelle version de ComDlg32.dll essayez-vous d’enregistrer (et où l’avez-vous obtenue)?

14
selbie

comdlg32.dll n'est pas vraiment une dll COM (vous ne pouvez pas l'enregistrer).

Ce dont vous avez besoin, c'est comdlg32.ocx qui contient la classe COM MSComDlg.CommonDialog (et repose en fait sur comdlg32.dll). Une fois que vous aurez récupéré un fichier comdlg32.ocx, vous pourrez alors faire regsvr32 comdlg32.ocx.

8
Simon Mourier

Enregistrement de DLL pour Fundsite

La bibliothèque d’exécution comdlg32.ocx périmée ou manquante peut être à l'origine de cette erreur. Assurez-vous que le fichier comdlg32.ocx n'est pas corrompu. Sinon, téléchargez le fichier comdlg32.ocx (~ 60 Kb Zip).

Téléchargez le fichier et extrayez le fichier comdlg32.ocx dans votre dossier Windows\System32 ou Windows\SysWOW64. Dans mon cas, j’ai commencé avec Windows\System32, mais cela n’a pas fonctionné. J’ai donc de nouveau enregistré dans Windows\SysWOW64.

Tapez la commande suivante de la boîte de dialogue Démarrer, Exécuter: “c:\windows> System32\regsvr32 Comdlg32.ocx“ ou “c:\windows> SysWOW64\regsvr32 Comdlg32.ocx”

Maintenant, le fichier Comdlg.ocx est inscrit et l'étape suivante consiste à enregistrer la DLL

  1. Copiez le Fundsite.Text.Encoding. dll dans le dossier .Net Framework pour 64 bits sur le chemin ci-dessous C:\Windows\Microsoft.NET\Framework64\v2.0.50727

  2. Ensuite, à l'invite de commande, accédez au répertoire C:\Windows\Microsoft.NET\Framework64\v2.0.50727, puis exécutez la commande suivante, comme indiqué ci-dessous.

Cela enregistrera la dll avec succès.

C:\Windows\Microsoft.net\framework64\v2.0.50727> regasm "Nom de la DLL" .dll

5
user3919976

Avez-vous désinstallé votre Internet Explorer? Je l’ai fait et j’ai eu les mêmes problèmes. Si oui, vous devez:

  1. Réactivez IE (Panneau de configuration - Programmes et fonctionnalités - Activer ou désactiver les fonctionnalités Windows).
  2. redémarrer l'ordinateur
  3. (important!) sous Windows Update pour obtenir toutes les mises à jour disponibles pour Microsoft Explorer
  4. redémarrer l'ordinateur (encore)

Enfin ça marche!

1
Andre