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

Messages postés
171
Date d'inscription
dimanche 6 février 2005
Dernière intervention
13 avril 2007
- - Dernière réponse : Lutinore
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
- 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
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
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.. : )

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Lutinore
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
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
Messages postés
65
Date d'inscription
samedi 24 avril 2004
Dernière intervention
1 août 2005
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
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
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
Messages postés
171
Date d'inscription
dimanche 6 février 2005
Dernière intervention
13 avril 2007
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
Messages postés
65
Date d'inscription
samedi 24 avril 2004
Dernière intervention
1 août 2005
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
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
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
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
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.