Mettre une dll dans l'exe d'une application ?? [Résolu]

georgeduke 171 Messages postés dimanche 6 février 2005Date d'inscription 13 avril 2007 Dernière intervention - 12 juin 2005 à 21:06 - Dernière réponse : Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention
- 19 juin 2005 à 15:51
Bonjour tout le monde !





J'ai développé un utilitaire ; pour lancer ce dernier, il suffit
d'avoir l'exe bien-sûr et un fichier dll. Pour des questions de
facilité de déploiement, j'aurais aimé n'avoir qu'il n'y ait qu'un seul
fichier, -l'exe-.





Est-ce que quelqu'un sait s'il est possible, de mettre cette dll à l'interieur même de mon exe ??





D'avance, merci
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 12 juin 2005 à 21:50
3
Merci
Salut, moui je pense que c'est possible.. Je promets rien.. mais normalement en transformant ta DLL et ton EXE en code MSIL avec l'utilitaire Ildasm.exe puis en recompilant les deux fichiers avec Ilasm.exe ca devrait marcher.. Il faudra peut etre apporter quelques modifs au manifeste.. mais ta DLL ne doit pas comporter de code natif ! Attention aux programmeurs en C++ managed qui utilise toujours un peu code natif dans leurs programmes.. Bien sur tout ca c'est valable si tu ne disposes pas du code source, sinon je pense que tu ne poserais meme pas la question.. : )

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de Lutinore
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 18 juin 2005 à 23:52
1
Merci
Une autre solution que je viens de découvrir mais pas encore testé, c'est l'utilitaire ILMerge qui comme son nom l'indique fusionne des assemblys .NET

Je suis sur que personne ne va lire ce message 5 jours après : )
Commenter la réponse de Lutinore
Troborg 65 Messages postés samedi 24 avril 2004Date d'inscription 1 août 2005 Dernière intervention - 12 juin 2005 à 23:28
0
Merci
Hum..
Georgeduke a indiqué "j'ai développé un utilitaire"... du coup on peut supposer qu'il dispose du code source....
Si c'est le cas, et bien il suffit d'ajouter la dll en référence dans le projet (si tu utilises Visual Studion, clique droit sur le projet, puis "Add Reference") puis de recompiler...
Bon, sans code source la méthode ci-dessus s'impose !
Commenter la réponse de Troborg
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 13 juin 2005 à 00:31
0
Merci
Rassures moi Georgeduke, il s'agit bien d'une librarie dont tu ne disposes pas du code source !? Je viens de tester la methode que j'ai decrite plus haut, ca marche mais j'ai ramé.. en fait c'est un peu plus que quelques modifs qu'il faut apporter au code MSIL..
Commenter la réponse de Lutinore
georgeduke 171 Messages postés dimanche 6 février 2005Date d'inscription 13 avril 2007 Dernière intervention - 13 juin 2005 à 07:38
0
Merci
Ben disons, qu'entre-temps, j'ai retrouvé le code source de la dll que j'utilise dans mon prog (je devrais mieux ranger mes sources... ça devient n'importe quoi...)

Donc du coups, je n'avais plus le besoin décrit dans mon premier message.



Merci de votre aide en tout cas, car ça m'a permis de savoir qu'il
était possible de mettre une dll dans un exe par la méthode décrite par
Lutinor ; même si ça parait pas si évident que ça effectivement...



Cela dit, j'ai remarqué quelque chose d'étrange : Lorsque j'utilise mon
appli avec la dll en référence, l'exe me prend 3Mo de plus en
mémoire vive que si j'insère seulement le code source de la dll !



Quelqu'un a-t-il déjà remarqué ce phénomène ?
Commenter la réponse de georgeduke
Troborg 65 Messages postés samedi 24 avril 2004Date d'inscription 1 août 2005 Dernière intervention - 19 juin 2005 à 00:53
0
Merci
Mais si.. Ya toujours des gens qui gens qui lisent les messages...
Ne serait-ce que ceux qui ont posté et coché l'option "M'envoyer un mail lorsqu'il y a une réponse à cette discussion." !

En tout cas je garde en mémoire ton utilitaire ! ... Ca peut être utile !
Merci !
Commenter la réponse de Troborg
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 19 juin 2005 à 11:17
0
Merci
Mais si, y'a toujours du monde qui vient regarder les postes
Et en plus, y'a une fonctionnalité pour voir les derniers messages postés...

Sinon à propos du sujet, si le but c'est d'avoir qu'un seul fichier pour faciliter le déploiement, on peut toujours créer un .msi qui va se charger de faire tout ce qui faut (avec le windows installer de visual studio donc.... bon ok, pour un petit programme ça peut être un peu lourd...)

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 19 juin 2005 à 15:51
0
Merci
Ah bha si y'a des lecteurs.. : )

En fussionnant des DLL dans un EXE y'a surement un petit gain de memoire à l'execution par contre je me demande si il y'a un gain en performance !?

Pour le gain de memoire je suppose que ca depend du cas de figure, par exemple si un EXE reference une DLL ( pas fusionnee ) mais que les fonctions de la librairie ne sont pas appelees ( pas systematiquement ), la librarie n'est pas chargee en memoire ?
Commenter la réponse de Lutinore

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.