Comment crée un installateur pour un logiciel déjà crée ?

HeavyRoad-Prog17 Messages postés 26 Statut Membre -  
[Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Je vient de me lancer dans un projet de "chat" en local.J'ai crée un "setup.exe" pour le serveur et pour le client.Maintenant je souhaiterai crée un exécutable qui installerai mes 2 "setup.exe" en demandant quel logiciel installer : le serveur ou le client.Tout en installant le"mingwm10.dll" pour que l'utilisateur de mon logiciel ne soit pas obligé de télécharger "Qt SDK.exe".
S.V.P. ? Merci à tous ! @ bientôt !

6 réponses

  1. Profil bloqué
     
    en plus clair, ça donne quoi ???
    0
  2. HeavyRoad-Prog17 Messages postés 26 Statut Membre
     
    J'ai crée un logiciel de "chat" en local.Le "setup.exe" est prêt mais quand je clique dessus pour l'ouvrir un message me disant: "mingwm10.dll" est introuvable. Peut-tu m'aider ?
    0
  3. Profil bloqué
     
    le setup ne trouve pas le "mingwm10.dll" donc il faut recommencer
    0
  4. HeavyRoad-Prog17 Messages postés 26 Statut Membre
     
    peut tu approfondir ta réponse ? stp
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. JwTdd
     
    Bonjour, il y a plusieurs solutions comme créer un SFX ( Self-Extracting Zip) avec winzip par exemple qui décompresse setup et ta dll dans un dossier temporaire pour ensuite lancer ton setup visiblement dépendant de cette dll mais de soucis si ils sont dans le même dossier lors de l'execution. Ou bien si tu veux créer des menu/choix tu peux opter pour NSIS qui est une alternative aux produits commerciaux, comme InstallShield.
    0
  7. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Salut HeavyRoad-Prog17,

    Il y a Inno Setup, qui est très bien : https://jrsoftware.org/isinfo.php et qui est, comme NSIS (signalé par JwTdd), un logiciel libre et gratuit.

    Inno Setup a des fonctionnalités de script poussées extrêmement flexibles, que j'aime bien (il fait usage d'un moteur Object Pascal).

    Il peut aussi simplement servir à packager ton projet avec ton exécutable et ta .dll.

    Dans le répertoire "Examples", tu as un exemple de script "Components.iss" qui te montre comment réaliser un installateur proposant l'installation de plusieurs composants en fonction du type d'installation demandé.

    En supposant que tu aies :

    - un exécutable MySrvProg.exe pour ton programme serveur,
    - un exécutable MyClientProg.exe pour ton programme client,
    - mingwm10.dll

    Le script suivant va t'organiser 3 types d'installation.

    [Setup]
    AppName=My Chat Program
    AppVersion=1.5
    DefaultDirName={pf}\My Chat Program
    DefaultGroupName=My Chat Program
    UninstallDisplayIcon={app}\MyChatProg.exe
    OutputBaseFilename=Setup-MyChatProg-1.5

    [Types]
    Name: "full"; Description: "Full installation"
    Name: "server"; Description: "Server installation"
    Name: "client"; Description: "Client installation"

    [Components]
    Name: "srvexe"; Description: "Server executable"; Types: full server; Flags: fixed
    Name: "clientexe"; Description: "Client executable"; Types: full client; Flags: fixed
    Name: "lib"; Description: "Libraries"; Types: full server client

    [Files]
    Source: "MySrvProg.exe"; DestDir: "{app}"; Components: srvexe
    Source: "MyClientProg.exe"; DestDir: "{app}"; Components: clientexe
    Source: "mingwm10.dll"; DestDir: "{app}"; Components: lib; Flags: onlyifdoesntexist

    [Icons]
    Name: "{group}\My Chat Server Program"; Components: srvexe; Filename: "{app}\MySrvProg.exe"
    Name: "{group}\My Chat Client Program"; Components: clientexe; Filename: "{app}\MyClientProg.exe"
    Name: "{group}\Uninstall"; Filename: "{uninstallexe}"

    Dans cet exemple, "mingwm10.dll" ne sera installée que si cette .dll n'est pas déjà présente sur le système.

    La doc sur ces fonctionnalités est là :

    https://jrsoftware.org/ishelp/index.php?topic=typessection
    https://jrsoftware.org/ishelp/index.php?topic=componentssection
    https://jrsoftware.org/ishelp/index.php?topic=filessection

    Dal
    0