none
probleme dans visaul basic express 2010 : impossible de charger une dll RRS feed

  • Question

  • bonjour,

    j'ai un programme qui tourne sous visual basic express 2010. celui ci fonctionnait tres bien sur mon pc jusqu'au jour ou j'ai reinstaller windows dessus (suite a un probleme interne). Apres installation de windows et de tout ses composants, j'ai installé vbe 2010. A ce moment la, j'ai rencontré un probleme au niveau du chargement d'une dll ; voici le message que l'on me donne : "Impossible de charger la DLL 'C:\WINDOWS\System32\USBDII.DLL': Le module spécifié est introuvable. (Exception de HRESULT : 0x8007007E)". Apres des recherches sur internet et des visites sur differents forums, il etait dit que le chemin d'acces n'etait pas le bon ; j'ai verifie et c'est le bon.

    que dois je faire pour pouvoir faire tourner de nouveau mon programme ? que dois je change pour que ce probleme disparaisse ?

    j'ai une autre question : comment faire pour afficher tout le programme sous vbe 2010 (c'est a dire afficher les class, programmes que l'on fait et de tout les sous programme que vbe genere tout seul en un seul programme)?

    merci par avance de votre aide meme si elle ne peut pas tout resoudre...

    Lunick

    samedi 16 juin 2012 11:55

Réponses

  • C'est un OS 32 ou 64 bits ? Je ne crois pas que l'on ait eu l'info (Au temps pou moi c'est 64 bits). La DLL est utilisée comment par l'application (référence DLL ou DllImport ?)

    Si OS 64 bits et DllImport, la DLL devrait être placé dans SysWoW64 et non pas dans System32 (qui représente malgré son nom les DLLs natives du système donc 64 bits si OS 64 bits).

    Essayez d'aller jusqu'au bout des pistes indiquées sinon c'est un peu difficile de vous aider si on change de direction à chaque poste...

    Pour le changement voir Outils, Options, Projets et solutionsnn, Général, et cocher "Montrer les options avancées". On doit voir alors cette option dans "Générer", "Gestion de la configuration". Par défaut VB Express masque les options avancées et cette option n'est pas visible.

    <tt></tt>


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".



    mercredi 22 août 2012 16:39
    Modérateur

Toutes les réponses

  • Bonjour,

    Le chemin d'accès est le bon veut dire que le fichier est présent à cet endroit ? Comment accède t'on à cette DLL depuis VB ? C'est une version 32 bit de Windows ?

    Pour la deuxième question, je crois comprendre qu'il s'agit du navigateur d'objets (touche F2) qui montre toutes les classes de l'ensemble choisi (par exemple toutes celles du projets ainsi que les bibliothèques référencées).


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    samedi 16 juin 2012 12:16
    Modérateur
  • merci de votre reponse rapide.

    pour windows, c'est la version 64 bits. quelle est la difference entre le 32 et le 64 bits pour vbe ?

    le chemin est le bon, donc le fichier se trouve a cet endroit la et meme dans le dossier ou se trouve l'enregistrement du programme (donc il y a une redondance de ce fichier, est ce de trop?)

    pour acceder a cette dll depuis vb, il faut juste la mettre dans une classe et ensuite l'appeller dans le programme (c'est ce qui a ete fait dans mon programme).

    merci pour l'aide pour le navigateur d'objets.

    samedi 16 juin 2012 12:33
  • Bonjour,

    Si votre DLL est compilé en 32-bit, il faudra que votre application soit compilé en 32-bit (elle fonctionnera sans aucun problème sur les postes 32 et 64-bit).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    samedi 16 juin 2012 22:24
    Modérateur
  • bonjour,

    c'est donc une question de compilation mon probleme? ou juste une partie du dit probleme?

    mon poste tourne en 86-bit (d'apres ce que me propose vb), donc quand je mets "any CPU", rien ne se passe, c'est a dire que je lance mon programme et la meme erreur revient.

    j'ai remarqué que j'ai aussi ce message qui s'affiche : "Une exception de première chance de type 'System.DllNotFoundException' s'est produite dans Train 2011 - V0.1.exe" que veut il dire et comment solutionner ce probleme?

    merci pour vos reponses et vos prochaines aides

    lunick

    dimanche 17 juin 2012 08:51
  • Bonjour,

    Apparement ce n'est pas un problème de 32/64 bit (pour l'instant).

    L'exception que vous obtenez est du au fait que votre DLL (et/ou les DLL dépendantes !) USBDII.DLL sont introuvables.
    Savez-vous les DLL que requiert USBDII.DLL ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 17 juin 2012 10:15
    Modérateur
  • bonjour, si les dll sont introuvables alors elles ne se trouvent pas dans le dossier du chemin ? parce que dans mon cas, elles y sont bien et meme dans le dossier dans lequel j'enregistre mon programme.

    mon programme tournait tres bien avant de reinstaller windows, et aujourd'hui (apres reinstallation, le meme windows qu'avant) j'ai ces erreurs. j'ai fait une sauvegarde de mon disque dur avant de la reinstallation et donc, les dll et autres programmes se retrouvent la ou ils etaient auparavent, non ? c'est la ou je bute : pourquoi ca marchait avant et plus maintenant ?

    les dll que requiert usbdii.dll : vous me posez une colle... je vais essayer de me renseigner sur celui la, et je vous dit ce qu'il en est!

    merci pour votre aide

    cordialement

    Lunick

    dimanche 17 juin 2012 14:50
  • Bonjour,

    Est-il possible que vous puissiez mettre les DLLs en question sur un partage SkyDrive afin que je puisse voir les composants nécessaire à l'exécution de cette dernière ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 17 juin 2012 15:11
    Modérateur
  • Et avant c'était un Windows 32 bits ? L'emplacement n'est pas le même sauf erreur de ma part.

    Le plus simple pourrait être de réinstaller le produit qui apporte ces DLLs avec la procédure d'installation prévue pour, si pour l'instant vous avez essayé simplement de recopier les DLLs au même emplacement que précédemment.


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".

    lundi 18 juin 2012 08:23
    Modérateur
  • bnojour,

    je n'arrive pas a mettre les dlls sur skydrive mais si je vous les mets sur un autre site d'hebergement, ca peut vous convenir?

    la question du windows ne devrait a priori pas se poser, puisque j'ai reinstallé le meme pack sur mon ordinateur que celui qui etait deja dessus a l'achat (un pc neuf je precise).

    je vais voir pour une réinstallation des dlls, et si il se passe quelque chose, je vous tiens au courant...

    merci de votre aide

    Lunick

    lundi 18 juin 2012 09:21
  • Bonjour,

    je n'arrive pas a mettre les dlls sur skydrive mais si je vous les mets sur un autre site d'hebergement, ca peut vous convenir?
    Oui.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    lundi 18 juin 2012 12:05
    Modérateur
  • bonjour,

    voici le lien pour avoir les fichiers dlls : http://dl.free.fr/m8fubEIvx

    (seul inconvenient, la publicité qu'il faut voir pour acceder au dossier. le code qu'ils demande a la fin de la publicité est " Gratuit et Gains réels " (sans les guillemets et avec un espace avant le premier G)).

    merci de votre aide

    Lunick

    lundi 18 juin 2012 12:21
  • Bonjour,

    Après analyse, votre DLL requiert (statiquement) des DLL qui sont incluses dans Windows. Donc je pense que l'exception DllNotFoundException n'est pas dû à une dépendance, mais plustôt à la DLL que votre application n'arrive pas à trouver.

    Avez-vous essayé de mettre la DLL dans le répertoire de votre application ?

    Au passage, votre DLL est compilé et ne fonctionne qu'en 32-bit. Il faut donc compiler aussi votre application en 32-bit...

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    lundi 18 juin 2012 16:40
    Modérateur
  • bonjour,

    quelles sont les dlls que windows a besoin et sont elles deja installées ou faut il les installer ?

    la dll est dans le repertoire de mon application et aussi dans le repertoire C:\WINDOWS\System32 depuis le debut, donc mon probleme viendrait donc de la compilation de la dll et de mon projet.

    Pour compiler en 32 bits, quels sont les parametres a changer et ou? (sous vb, dans my project > compiler > configuration > release ou debug ou toutes les configurations ou bien my project > compiler > configuration > plateform > any CPU ou toutes les plateformes (ou bien x86 mais ca ne convient pas avec ma dll) ??)

    est il possible de recompiler la dll en une version 64 ou 86 bit ? si oui, comment faire ?

    merci de votre aide

    cordialement

    Lunick

    lundi 18 juin 2012 17:21
  • bonjour,

    merci pour vos réponses.

    est ce que quelqu'un pourrait me dire comment compiler une dll et le programme vb en 32 bits ou plus.

    merci par avance de vos réponses

    cordialement

    Lunick

    samedi 23 juin 2012 09:57
  • Bonjour,

    Allez dans les propriétés de votre projet.
    Choissiez l'onglet "Compiler", cliquez sur le bouton "Options avancés de compilation" et dans la liste déroulante "Unité centrale cible" choissisez x86 pour le 32-bit et x64 pour le 64-bit.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 24 juin 2012 10:23
    Modérateur
  • bonsoir,

    merci d'essayer de m'aider, mais je crois que je suis un cas despéré !!
    j'effectue toutes les manipulations possibles pour essayer d'obtenir les résultats attendus, mais ca ne fonctionne pas !
    j'ai fais ce que vous avez mis plus haut, mais je n'ai pas le choix pour "unité centrale cible" car il n'y a pas ce choix possible.

    j'ai donc decidé de désinstaller vb, et tous les composants qui vont avec, et de le réinstaller ensuite. Toujours rien de bon. Je me suis alors dit que soit je ne comprenais a l'Informatique, soit je n'avais pas le bon vbe, soit il manque un composant sur mon PC pour faire tourner mon programme correctement.

    Est ce un des deux dernier ? (car le premier j'y crois bien!)

    que puis je faire pour me permettre de faire a nouveau tourner mon programme ?

    merci encore de vos reponses et de votre aide ...

    Cordialement

    Lunick

    mardi 21 août 2012 19:30
  • C'est un OS 32 ou 64 bits ? Je ne crois pas que l'on ait eu l'info (Au temps pou moi c'est 64 bits). La DLL est utilisée comment par l'application (référence DLL ou DllImport ?)

    Si OS 64 bits et DllImport, la DLL devrait être placé dans SysWoW64 et non pas dans System32 (qui représente malgré son nom les DLLs natives du système donc 64 bits si OS 64 bits).

    Essayez d'aller jusqu'au bout des pistes indiquées sinon c'est un peu difficile de vous aider si on change de direction à chaque poste...

    Pour le changement voir Outils, Options, Projets et solutionsnn, Général, et cocher "Montrer les options avancées". On doit voir alors cette option dans "Générer", "Gestion de la configuration". Par défaut VB Express masque les options avancées et cette option n'est pas visible.

    <tt></tt>


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".



    mercredi 22 août 2012 16:39
    Modérateur
  • Bonjour,

    je répond seulement maintenant a votre aide car lorsque j'ai voulu repondre fin aout, le service ne marchait pas et avec la rentrée j'ai pas eu beaucoup le temps de revenir vous remercier

    merci de votre aide, car maintenant le programme fonctionne comme avant !

    voila ce que j'ai fait : j'ai mis mes fichier .dll dans le répertoire SysWOW64. (Je retiens la solution si le meme probleme resurgit un jour !)

    par contre, je n'ai pas pu faire ceci
    "Pour le changement voir Outils, Options, Projets et solutionsnn, Général, et cocher "Montrer les options avancées". On doit voir alors cette option dans "Générer", "Gestion de la configuration". Par défaut VB Express masque les options avancées et cette option n'est pas visible."
    Patrice Scribe

    Si il existe une réponse a ceci : je n'ai pas trouve la case "montrer les options avancées" ; ou peut elle bien etre cachée ?

    Merci encore a vous tous qui vous etes penchés sur mon probleme et qui ont donné des solutions

    cordialement

    Lunick

    samedi 8 septembre 2012 11:26
  • Bonjour,

    Si vous utilisez Express 2010, Allez dans outils-->paramètres-->paramètres avancées

    En sélectionnant cette option, le menu "Générer" apparaitra, puis pouvoir choisir la plateforme cible.

    Cochez aussi la case "Afficher tous les paramètres" en bas a gauche de la fenêtre Options dans le menu Outils. De ce fait vous pourrez voir toutes les options avancées


    Merci de valider par "Proposer comme réponse" si celle-ci répond a votre demande !

    mardi 11 septembre 2012 11:53