Enregistrer une dll en x64 [Résolu/Fermé]

Signaler
-
Messages postés
2
Date d'inscription
mercredi 1 novembre 2006
Statut
Membre
Dernière intervention
27 octobre 2016
-
Bonjour,

Je tourne en ce moment sur Windows Seven x64, et récemment, j'ai voulu enregistrer une dll pour pouvoir executer un programme pour mon G-15. J'ai mis mon fichier dans system32 puis tapé : "regsvr32 nomdeladll.dll" dans exécuter. Juste après, Winsdows me renvoit ce message d'erreur :

Le module «nomdeladll.dll» ne peut pas être compatible avec la version de Windows que vous exécutez. Vérifiez que le module est compatible avec une version x86 (32 bits) ou x64 (64 bits) de regsrv32.exe.


Je pense qu'il s'agit d'un conflit x32 vs. x64 mais comment y parer ?

Merci d'avance.

6 réponses

Préco: windows 7 64 bits, script VBS utilisant une DLL 32bits

il faut enregistrer la dll de façon normale avec regsvr32 xxx.DLL
puis exécuter le programme sous c:\windows\SysWOW64
c'est tout!
donc, pour un VBS:
c:\windows\SysWOW64\Cscript test.vbs
et pas
c:\windows\system32\Cscript test.vbs qui ne fonctionne pas
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
1003
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2021
16
Fonctionne avec Win10

Coller votre DLL dans le dossier SysWoW64
Exécuter l'invite de commandes en tant qu'Administrateur
C:\WINDOWS\system32>%systemroot%\SysWoW64\regsvr32 C:\Windows\SysWOW64\la_dll_a_installer.dll

Et le tour est joué !
Bonsoir,
Ca ne marche pas pour moi,
Je ne sais pas comment "activer" le dll lorsqu'il est dans les deux dossiers?
Même problème pour moi :(
Je ne comprends pas comment les "enregistrer" ou les "activer" une fois qu'ils sont dans les deux dossiers, quel est la commande exacte a faire dans "Exécuter"
Pour la raiponce de fchevali : je ne peut pas exécuter le programme sous quelque chose .... car c'est pour installer un programme qu'il me manque ce < .dll >
(Et l'ai lu toute la conversation plusieurs fois et essayer chaque chose décrite !)
Messages postés
2
Date d'inscription
mercredi 1 novembre 2006
Statut
Membre
Dernière intervention
27 octobre 2016

super, merci !

J'ai recherché la dll à enregistrer via l'explorer, copié son chemin complet (c:\...), puis j'ai été via l'invite de commande cmd dans %systemroot%\syswow64\.
De là j'ai exécuté la commande "regsvr32 <chemin complet vers ma dll>".
J'en avais besoin pour installer la DLL du plugin de VSS (Visual SourceSafe) pour VS (VisualStudio) 2015.
Il ne me restait plus qu'à fermer et relancer VS pour prendre en compte le changement.
UP !
Salut, en cherchant un peu on trouve ça :

Lorsque vous tentez d'exécuter Regsvr32.exe pour consigner un fichier DLL 32 bits dans le registre d'une version 64 bits de Windows, le message d'erreur suivant s'affiche :
nom_fichier .dll n'est pas un fichier exécutable et aucune aide à l'enregistrement n'est consignée dans le registre pour ce type de fichier.
Retour au début
CauseCe problème se produit car le fichier Regsvr32.exe dans le dossier System32 est...Ce problème se produit car le fichier Regsvr32.exe dans le dossier System32 est une version 64 bits. Lorsque vous exécutez Regsvr32 pour enregistrer un fichier DLL, vous utilisez une version 64 bits par défaut.
Retour au début
RésolutionPour résoudre ce problème, exécutez Regsvr32.exe à partir du dossier %SystemRoot...Pour résoudre ce problème, exécutez Regsvr32.exe à partir du dossier %SystemRoot%\Syswow64. Par exemple, tapez dans le menu Démarrer\Exécuter la commande suivante pour enregistrer le fichier DLL :

\windows\syswow64\regsvr32 c:\nom_fichier.dll
Retour au début
StatutCe comportement est voulu par la conception même du produit.Ce comportement est voulu par la conception même du produit

issu de là : https://support.microsoft.com/fr-fr/help/249873/how-to-use-the-regsvr32-tool-and-troubleshoot-regsvr32-error-messages

moi g ce problème pour enregistrer une dll de mpc pour avoir le filtre audio eac..mais ça me renvoie un message d'erreur "la dll à été chargée mais l'appel a dllregister a échouée code ereeur 0x80070005"
donc je continue de chercher..
bye
> corben
J'ai le même problème sur un serveur windows server standard 64 bits; ma dll (32bits) est bien enregistrée mais lors de l'appel à l'interface COM ça plante avec le message d'erreur :

System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {5BCFEBF8-81C2-4830-88FC-6094BA2397AE} failed due to the following error: 80040154.

As-tu trouvé une solution à ton problème ?
> keuleu
Salut, tout ce que je sais c'est qu'il faut que la dll soit présente ausii bien dans le dossier system32 que dans syswow64 et l'enregistrer avec le chemin complet pour chaque dossier..
j'espère que ça aidera..
Merci corben, çà marche à merveille avec la copie manuelle dans syswow64 et system32
Messages postés
67
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
22 novembre 2018
5
Je pense avoir les même souci.

Je fait du développement sous VisualStudio 6 (c'est pas tout jeune je sais pas pas le choix). Mon ancien PC ayant quelques faiblesse j'ai récupéré un plus puissant mais sous XP x64.

Les DLL standard que j'utilise son sous SysWOW64. Mais sur mon poste cela fonctionne bien, mais dés qu'un collègue essaie d'exécuter mon exe il ne se passe rien. Juste un bip et c tout.

Avez vous une idée.