IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Importer un exe dans projet vb.net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 12
    Par défaut Importer un exe dans projet vb.net
    Yop tout le monde,

    je suis entrain de finaliser des choses créer par un logiciel et exporter en .exe.. Je voudrais par vb.net importer mes 2 .exe dans monprojet.vb, et donner l'opportunité au gens qui lancerons le programme de pouvoir par 2 boutons, lancer les applications importer.. Ensuite, extraire monprojet.exe et partager un simple .exe qui ne lancerons pas les .exe en local mais le lancerons car ces 2 derniers sont déjà dans monprojet.exe.. Possible ?

    En récapitulant pouvoir lancer 2 programme non en local (Donc pas shell("c:\**\**\**\**\fichier1.exe) mais directement lancer les fichiers car je les aurais importer dans mon projet..

    (voir image en pj)

    et au final, dans le dossier qui sera partager n'existera qu'un .exe.. pour evité de partager (Monprojet.exe + executable1.exe + executable2.exe) :-°
    Images attachées Images attachées  

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 271
    Par défaut
    L'outil qui fait ce que tu veux existe, il permet par exemple de fusionner des .exe, .dll.
    Il s'appelle ILMerge
    Pour l'utiliser en ligne de commande, il faut aller dans le répertoire bin release de ton projet .net et de tapper :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %PROGRAMFILES%\microsoft\ilmerge\ilmerge.exe” /t:winexe /out:newfile.exe file1.exe file2.dll file3.dll
    Newfile.exe c'est le nom du fichier unique fusionné que tu veux créer, et file1-3 sont les fichier que tu veux fusionner. file1 doit etre ton fichier exe principal. le parametre t est utilisé pour le type de sortie: exe pour les applications Console , winexe pour les Windows forms, librarys pour les DLL.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 12
    Par défaut
    Une chose m'échappe.. J'ai bien telecharger et installer ILMerge dans le dossier Bin Release, rien n'apparait.. Le dossier est donc Vide.. Tu me dis de taper

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %PROGRAMFILES%\microsoft\ilmerge\ilmerge.exe” /t:winexe /out:newfile.exe file1.exe file2.dll file3.dll
    je voudrais bien mais tapez sa ou ? Désoler Nuland

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 271
    Par défaut
    Il faut d'abords que transforme ton programme principal en .exe avant de pouvoir le fusionner avec les 2 autres!

    Sinon une autre solution tu peux faire comme cela :
    tu ajoute executable1.exe et executable2.exe comme resource a ton projet et tu fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       Dim exestr1 As Stream = Nothing
       Dim a As Assembly = Assembly.GetExecutingAssembly
       exestr1 = a.GetManifestResourceStream("executable1.exe")
       ......
       Dim exestr2 As Stream = Nothing
       Dim b As Assembly = Assembly.GetExecutingAssembly
       exestr2 = b.GetManifestResourceStream("executable2.exe")

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    ilmerge sert à transformer un exe et ses références en un seul fichier
    ce n'est pas vraiment ce que tu veux si j'ai bien suivi

    si tu glisses les exe dans un fichier de ressources de ton projet, ceux ci seront intégrés dans l'exe en tant que ressources et vb va créer une propriété contenant les octets des fichiers

    sous windows, on lance des programmes via leur fichier, donc je pense qu'il faut à un moment ou à un autre que ces fichiers existent
    tu peux alors les écrire sur le disque, même dans un dossier temporaire et à chaque fois si tu le souhaites
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    system.io.file.writeallbytes(path,my.ressources.fichier1exe)
    shell(path)

    edit : y a de l'idée dans la 2ème solution de fab256
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 271
    Par défaut
    Au lieu d'utiliser Shell utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim myProcess As Process = _
    System.Diagnostics.Process.Start("c:\application1.exe")
    Si tu veux passer des parametres a ton application :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim myProcess As Process = _
    System.Diagnostics.Process.Start("c:\application1.exe", "parametre1 parametre2 parametre3")
    Si tes applications sont des executable .NET tu peux les inclure dans le binaire compilé, les charger avec Apres chargement du binaire, tu peux appeler les fonction du programme inclus comme n'importe quel programme. Tu peux écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AppDomain.CurrentDomain.ExecuteAssembly(innerAssembly.FullName)
    J'ai des doutes que tu puisse mélanger des .exe classique avec des .exe .NET qui sont tout a fait une autre chose. Les antivirus et les utilisateurs n'aime pas les programmes qui pondent d'autres programmes même temporairement. Tu peux toujours integrer un fichier exe comme ressource dans ton projet, et créer un fichier temporaire sur le disque et le supprimer a la fin de ton application.

Discussions similaires

  1. Références dans projet VB.NET
    Par GohanSSj2 dans le forum VB.NET
    Réponses: 8
    Dernier message: 31/01/2012, 10h35
  2. [Débutant] Menu dans projet ASP.net
    Par arngrimur dans le forum ASP.NET
    Réponses: 4
    Dernier message: 24/09/2011, 17h23
  3. Utilisation calendar/datepicker dans projet ASP.Net
    Par arngrimur dans le forum jQuery
    Réponses: 1
    Dernier message: 23/09/2011, 12h21
  4. Réponses: 0
    Dernier message: 05/04/2011, 14h35
  5. l'importance des cubes dans projet bi
    Par chagala dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 28/03/2011, 10h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo