Regsvr32 ne parvient pas à trouver la dll dans le dossier en cours
Lorsque j'utilise "regsvr32 foo.dll" "Le module spécifié ne peut pas être
trouvé d'erreur".
L'erreur est causé parce que regsvr32 ne peut pas trouver
le fichier même si c'est le répertoire courant.
J'ai spécifié le chemin d'accès complet, et toujours il ne débite pas de travail. Des idées????
Vous devez vous connecter pour publier un commentaire.
Cela peut se produire si
foo.dll
a un depenency surbar.dll
et c'est en faitbar.dll
qui ne peut pas être trouvé.Essayez d'utiliser
depends.exe
de MSVC pour vérifier les dépendances defoo.dll
et voir si tout est manquant.Une autre option est de télécharger et d'exécuter FileMon. Ensuite, exécutez
regsvr32
à nouveau et de voir le fichier/module qu'il ne parvient pas à trouver. Cela devrait certainement suivre.Sur le 64 bits des Systèmes d'exploitation, Dependency Walker a été peu utile pour moi; et
FileMon
a été remplacé par le Moniteur de Processus (voir https://docs.microsoft.com/en-us/sysinternals/downloads/procmon pour télécharger l'utilitaire). Voici comment j'ai été capable de trouver les références manquantes à l'aide de Processus de surveillance de:Ouvrir la boîte de Dialogue du Filtre soit à partir de la barre d'outils ou le menu.
Ajouter le
Process Name
deregsvr32.exe
à la liste de filtres et de supprimer toutePID
filtres.Effacer la liste, ...
... au tour par tour sur la Capture, si elle n'est pas déjà sur.
Exécuter votre
regsvr32.exe
commande à partir d'une fenêtre de console. Une fois terminé, vous pouvez basculer la capture off.Recherchez la référence manquante après
regsvr32
a chargé votre DLL.