Charger MySql.dll situé dans resources [Résolu]

Signaler
-
 danielgipn -
bonjour, j'ai créé une application pour se connecter à une base de données qui utilise mysql connector (que j'ai au préalablement téléchargé). Mon problème est que si je partage cette application , l'utilisateur qui n'a pas installé mySql connector ne pourra pas l'utiliser. J'ai donc trouvé la Dll qui appartient à MySql conector (MySql.Data.dll) ; je l'ai donc placé en tant que Ressource , donc incluse au .exe et je n'arrive pas à la charger au démarrage du programme , j'ai esayé une technique en mettant un code dans Events.vb (je me souviens pas exactement du nom). Auriez-vous une idée pour chargé cette dll contenue dans Resources au démarrage du programme ?

merci d'avance

8 réponses

Messages postés
14673
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 juin 2020
143
Bonjour,

Il ta faudra forcément l'extraire de tes ressources.

Si ton application a besoin de cela pour exécuter ton code (contrôle par avance de la présence de la DLL), essayes de faire un installateur.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Messages postés
14673
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 juin 2020
143
Bonjour,

Dans ce cas, il te faudra que tu fasse une application qui empacte les 2 fichiers, ton Exe et ta DLL, car tu ne pourras pas lancer ton EXE si la DLL n'est pas présente.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Messages postés
14673
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 juin 2020
143
Bonjour,

Je pense que ça peut venir du Framework qui est légèrement différent entre les 2 OS, mais n'ayant jamais fait cette manip sur un Win7, je ne pourrais en dire plus.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Oui okays merci. Sinon je pourrais faire en sorte que la dll s'extraie dans un fichier temporaire lorsque je lance le logiciel puis d'exécuter ensuite celle-ci, pensez-vous que cela pourrait également fonctionner ?
j'ai réussi à extraire cette dll dans le même dossier que l'application , j'ai ensuite écrit que quand l'application se ferme , supprimer cette dll et c'est là que ça coince car ça me met accès au chemin "MySql.Data.dll" refusé et pourtant la dll n'est pas en lecture seule. auriez-vous une idée ?
Messages postés
14673
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 juin 2020
143
Bonjour,

Oui, car la DLL est encore en cours d'utilisation, donc le fichier est verrouillé.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
ah ok mais c'est quand même bizarre parce que ça me le fait que sur windows xp et pas sur windwos 7
ok, merci beaucoup pour votre aide