Charger MySql.dll situé dans resources

Résolu
danielgipn - 4 oct. 2012 à 13:04
 danielgipn - 6 oct. 2012 à 15:37
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

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
4 oct. 2012 à 13:38
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
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
4 oct. 2012 à 19:25
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
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
6 oct. 2012 à 14:41
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
3
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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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 ?
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
6 oct. 2012 à 14:11
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
0
ah ok mais c'est quand même bizarre parce que ça me le fait que sur windows xp et pas sur windwos 7
0
ok, merci beaucoup pour votre aide
0
Rejoignez-nous