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

Dotnet Discussion :

generation d'un executable


Sujet :

Dotnet

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut generation d'un executable
    Bonjour à tous

    Avant tout je voudrais souhaiter une excellente année 2017.

    Je me permets de venir vers vous car je suis sur un projet en informatique dans une société.
    On me demande de créer un exécutable à partir d'une application existante.

    Je vais essayer d'approfondir mon explication.
    Il y a une application existante et depuis cette application générer un autre exécutable suivant des paramètres définis( textbox, combobox, class ...)
    Une fois tout les paramètres renseigner on créer cette exécutable mais devra afficher une form devant l'utilisateur (pas de console ou d'exe en fond de tâche. C'est comme un client.
    Alors vous allez me dire pourquoi faire une appli cliente, c'est parce que les paramètres vont changer suivant le nom et l'utilisateur final.
    cet exécutable servira à connecter via des sockets ...

    Je me suis déjà penché sur les possibilités:
    le stub mais je n'ai vu que en mode console ou en exécutable en fond de tâche
    et j'ai vu aussi CodeDomProvider mais je suis un peu perdu

    Tout cela est un peu flou pour moi
    J'aimerais bien vos lumières sur ce sujet

    Cordialement,

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Points : 625
    Points
    625
    Par défaut
    Salut,
    bonne année à toi aussi

    mais j'ai une mauvaise nouvelle :
    ton post est incompréhensible

    "Il y a une application existante et depuis cette application générer un autre exécutable suivant des paramètres définis( textbox, combobox, class ...)"
    - Les seules applications que je connaissent qui génèrent des .exe (executable) sont des compilateurs (en général associés à une interface de programmation (IDE)) donc quelle est cette application ? visual studio ? Mono ? etc ...
    - Les textbox, combobox etc... ne sont pas des paramètres mais des composants d'interface.

    " on créer cette exécutable mais devra afficher une form devant l'utilisateur (pas de console ou d'exe en fond de tâche. C'est comme un client."
    - un executable c'est un fichier .exe alors avoir un executable sans exe c'est très difficile...

    Je viens de regarder ce qu'est CodeDomProvider; en fait tu aimerais exécuter du code à la volée, sans générer de fichier .exe depuis cette application dont nous ignorons tout ^^
    Je pense que les seules aides dont tu peux disposer viennent de tes collègues qui ont créé cette application qui m'a l'air bien spécifique.
    "Essayer est le premier pas vers l'Echec !" (Homer Simpson)

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    codedom permet de créer un exe, ce n'est qu'un accès au compilateur
    par contre si tu veux tout générer à partir d'une appli existante ca me parait un peu tordu, car s'il y a beaucoup de code ca complique, il faudrait inclure en grande partie le code source de l'appli dans l'appli ...

    par contre si c'est juste des paramètres qui changent, le mieux serait de faire en sorte que ton appli lise ses paramètres dans un fichier de configuration (ou autre) et qu'elle s'adapte donc aux paramètres
    après tu peux faire un petit exe qui sert à paramétrer à côté
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour à vous et merci de vous intéresser à ma question.

    C'est vrai que vu comme cela mon explication est farfelu.

    J'ai testé un code qui permet de faire ce que j'ai essayé de vous expliquer, peut-être quand regardant ce que j'essaie de faire vous allez me comprendre
    Ce n'est pas forcément le meilleures des codes mais ça fonctionne pour le début
    J'ai une form principal avec un bouton quand je clique sur le bouton cela me génère mon exécutable en allant lire un fichier texte avec des paramètres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    Imports System.CodeDom.Compiler
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Dim CodeProvider As New VBCodeProvider
            Dim MyParametres As New CompilerParameters
            MyParametres.ReferencedAssemblies.Add("System.dll")
            MyParametres.ReferencedAssemblies.Add("System.Windows.Forms.dll")
            MyParametres.ReferencedAssemblies.Add("Microsoft.VisualBasic.dll")
            MyParametres.GenerateExecutable = True
            MyParametres.OutputAssembly = "test.exe"
            MyParametres.CompilerOptions = "/target:winexe"
            MyParametres.TreatWarningsAsErrors = False
     
            Dim Results As CompilerResults = CodeProvider.CompileAssemblyFromFile(MyParametres, "TextFile1.txt")
     
            If Results.Errors.HasErrors Then
                ' If an error occurs
                MsgBox("Error: Line>" & Results.Errors(0).Line.ToString & ", " & _
                Results.Errors(0).ErrorText)
                Exit Sub
            End If
        End Sub

    Voici le contenu du fichier texte. La pour l'exemple ça me créer un bouton quand je clique dessus cela m'ouvre un msgbox.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Option Strict On
    Imports System
    Imports System.Windows.Forms
    Imports System.Windows.Forms.Form
    Imports Microsoft.VisualBasic
     
    Namespace MyApp
        Public Class EntryPoint
            Public Shared Sub Main(args As [String]())
                Dim FrmMain As New Form1
                System.Windows.Forms.Application.Run(FrmMain)
            End Sub
        End Class
        Public Class Form1
            Inherits System.Windows.Forms.Form
            Private WithEvents Button1 As New Button
            Sub New()
                Application.EnableVisualStyles()
                Me.Text = "Test CodeDOM"
                Button1.Text = "Click Me!"
                Button1.Top = 100
                Button1.Left = 100
                Me.Controls.Add(Button1)
     
            End Sub
            Private Sub Button1_Click(Sender As Object, E As EventArgs) Handles Button1.Click
                MsgBox("cliquez ici!")
            End Sub
        End Class
    .

    Je sais que ce code n'est pas le plus formidable et qu'il y a mieux mais j'essaie d'avancer en faisant un maximum de recherche
    Le but ultime c'est d'intégrer des class à ce nouvelle exécutable et aussi du code dans le load de la form

    Surtout posez moi toute les questions que vous penseriez vous aider à me comprendre

    Merci beaucoup de votre aide

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    pas la peine de nous expliquer comment compiler du code, on le sait et on a dit que c'était faisable

    et comme question, dis nous pourquoi tu ne veux pas plutot avoir des paramètres dans un fichier séparé et un seul exe comme cela se fait souvent
    et que ton exe s'adapte aux paramètres pour faire ce qu'il a à faire plutot que les paramètres font que tu compiles un exe

    il faudrait donc détailler ce qui est censé différer d'un exe à l'autre
    par exemple si tu fais un programme qui affiche via un msgbox "bonjour"
    et que tu veux un exe qui t'affiche "autre string", tu ne vas pas compiler un autre exe, tu vas mettre le string dans un fichier à coté et le msgbox va afficher ce qui est dans le fichier
    et donc normalement tout peux être géré de cette manière en fonction des paramètres à déplacer hors du programme (fichier texte, xml, base de données lite ...)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour pol63
    pas la peine de nous expliquer comment compiler du code, on le sait et on a dit que c'était faisable
    Loin de moi de vous expliquer, c'était juste pour vous faire voir ce que j'avais déjà commencer à faire et essayer au mieux vous expliquer ce que j’essayai de faire.
    A mon avis ça m'étonnerais que je puisse vous expliquer à vous ce que vous devais faire.

    Le second exécutable est surtout censé être utilisé par un utilisateur final mais les infos de connexion pourront changer suivant l'utilisateur.
    Pour faire simple il y a la partie client en écoute sur un serveur dans les locaux de la société
    Et la partie serveur qui sera envoyé soit par mail ou en téléchargement à l'utilisateur final.
    Un peu comme une télémaintenance.
    Le but de générer un second exécutable depuis l'application est de pouvoir mettre dans cet exécutable des infos personnalisé dans celui-ci comme par exemple des sockets sur quel ip et quel port se connecter des envoies d'informations du logiciel en panne le nom du client et le nom du poste avec lequel il est lancé pour que dans un tableau ou l'on puisse retrouver facilement le client connecté etc..
    Donc il faudra surement mettre des class à intégrer dans celui-ci
    Il n'y aura pas forcément des boutons mais au moins des infos à faire passer dans une textbox ou label et aussi du graphisme (logo etc..)
    Mais l’exécutable ne pourra être lancé que par l'utilisateur final et il pourra l'arrêter lui-même si il en a envie. c'est pour cela qu'il faut je pense une form pour l'utilisateur

    J'espère que j'ai pu être un peu plus clair dans mes informations

    Merci encore

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    dernière fois, après ça sera sans moi

    pourquoi ne pas répondre à ma question posée 2 fois, à savoir :

    pourquoi veux tu faire un truc compliqué et inutile au lieu de mettre tes paramètres dans un fichier à côté et d'avoir le même résultat mais en beaucoup plus simple ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    dernière fois, après ça sera sans moi

    pourquoi ne pas répondre à ma question posée 2 fois, à savoir :

    pourquoi veux tu faire un truc compliqué et inutile au lieu de mettre tes paramètres dans un fichier à côté et d'avoir le même résultat mais en beaucoup plus simple ?

    Désolé pol63

    A mon avis c'est surement moi qui est mal compris ce que tu me demandais.
    Pour te répondre le but c'est de trouver un solution à ce projet après la manière de le faire n'est pas figé
    J'étais partit sur la génération d'un exe parce que j'avais vu des exemples qui en parler
    Mais si il y a mieux je suis preneur
    Aurais-tu un exemple pour que je comprenne mieux ce que tu essaie de m'expliquer

    Merci à toi de ta patience

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par psylvain Voir le message
    Pour te répondre le but c'est de trouver un solution à ce projet
    pour l'instant je ne t'ai pas vu à un moment demander une solution à ton problème, mais comment faire ce que tu penses être la solution (compilation)

    Citation Envoyé par psylvain Voir le message
    Aurais-tu un exemple pour que je comprenne mieux ce que tu essaie de m'expliquer
    et ça c'est quoi ??

    Citation Envoyé par Pol63 Voir le message
    par exemple si tu fais un programme qui affiche via un msgbox "bonjour"
    et que tu veux un exe qui t'affiche "autre string", tu ne vas pas compiler un autre exe, tu vas mettre le string dans un fichier à coté et le msgbox va afficher ce qui est dans le fichier
    et donc normalement tout peux être géré de cette manière en fonction des paramètres à déplacer hors du programme (fichier texte, xml, base de données lite ...)
    si tu as une ip qui change, tu la sors du programme, etc ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Je m'étais focaliser sur ma solution parce que je pensais qu'elle conviendrait à ce que je cherches c'est surtout ça

    Mais je veux bien me pencher sur tes proposition au contraire
    C'est pour cela que je te demandais si tu avais un exemple, je suis quelqu'un de visuel et je comprends mieux avec un exemple concret

    Merci à toi

Discussions similaires

  1. [WD16] Crash systematique generation executable.
    Par Le_fossoyeur dans le forum WinDev
    Réponses: 20
    Dernier message: 17/10/2016, 11h49
  2. Generation de l'executable
    Par MedZero dans le forum NetBeans
    Réponses: 1
    Dernier message: 09/10/2016, 18h02
  3. Generation automatique d'executable
    Par zoso dans le forum Installation, Déploiement et Sécurité
    Réponses: 7
    Dernier message: 13/01/2006, 10h25
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. Réponses: 2
    Dernier message: 17/03/2002, 19h00

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