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

Fermé
HeavyRoad-Prog17 Messages postés 23 Date d'inscription vendredi 30 août 2013 Statut Membre Dernière intervention 7 septembre 2013 - Modifié par irongege le 7/09/2013 à 21:52
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 - 9 sept. 2013 à 18:17
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é
30 août 2013 à 21:24
en plus clair, ça donne quoi ???
0
HeavyRoad-Prog17 Messages postés 23 Date d'inscription vendredi 30 août 2013 Statut Membre Dernière intervention 7 septembre 2013
31 août 2013 à 15:03
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é
2 sept. 2013 à 16:34
le setup ne trouve pas le "mingwm10.dll" donc il faut recommencer
0
HeavyRoad-Prog17 Messages postés 23 Date d'inscription vendredi 30 août 2013 Statut Membre Dernière intervention 7 septembre 2013
7 sept. 2013 à 21:50
peut tu approfondir ta réponse ? stp
0

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

Posez votre question
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 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié par [Dal] le 9/09/2013 à 18:19
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