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

HeavyRoad-Prog17 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
[Dal] Messages postés 6205 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 !
A voir également:

6 réponses

Profil bloqué
 
en plus clair, ça donne quoi ???
0
HeavyRoad-Prog17 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
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
Profil bloqué
 
le setup ne trouve pas le "mingwm10.dll" donc il faut recommencer
0
HeavyRoad-Prog17 Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
peut tu approfondir ta réponse ? stp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
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