Save over 10% on AVG products: Antivirus, Online Backup & PC Tuneup! Total Price: $80.98 Buy Now!

Maintenant que vous avez un executable, il ne reste plus qu'à empaqueter l'ensemble de vos fichiers dans un programme d'installation. Pour cela nous allons utiliser Inno Setup. Ce tutoriel a été réalisé avec la version 5.4.3

Inno Setup à l'avantage d'être gratuit et multilingue. Il est, pour ne rien gâcher, relativement facile à utiliser et est fourni avec une bonne documentation.

 

Vous pouvez le télécharger ici : Lien de téléchargement vers innosetup

Nous allons créer notre lanceur à partir d'un script qu'Inno Setup va générer et que nous allons ensuite modifier pour l'adapter à nos besoins. Nous allons donc sélectionner l'option : "Create a new script file using the script wizard"

Inno Setup fenêtre de lancement

 

Le script va nous permettre de réaliser notre "kit" d'installation.

Une fenêtre s'ouvre. Assurez-vous que l'option "Create a new empty script file" est décochée.

Inno Setup fenêtre 2

Cliquez sur Next.

Dans la fenêtre suivante :

Inno Setup fenêtre 3

  • Dans le premier champ, saisissez le nom de votre application.
  • Dans le second, la version de votre application.
  • Ensuite rentrez le nom que vous souhaitez voir apparaître en tant qu'Editeur.
  • Rentrez enfin, l'adresse du site (ou de votre site), qui distribuera votre application.

Quand vous aurez complété tous les champs cliquez sur Next.

Dans la fenêtre suivante :

Inno Setup fenêtre 4

"Application destination base folder" va nous permettre de choisir où va s'installer notre programme. Nous allons faire classique et conserver l'option : Program files folder.


On rentre le nom du dossier d'installation de l'application. Vous avez ensuite le choix entre deux options.

  • Permettre à l'utilisateur de choisir le dossier où votre application va être installée
  • Spécifier que l'application ne nécessite pas de dossier (pratique si votre application ne nécessite qu'un seul fichier pour fonctionner)

Nous avons créé un dossier où tous les fichiers de notre application vont se placer.

Faites Next.


La prochaine fenêtre va nous permettre de spécifier les fichiers dont vous aurez besoin pour que votre application fonctionne.

Inno Setup fenêtre 5

"Application main executable file" :

Dans un premier temps, on va aller chercher le bel executable que nous avons créé avec Launch4j.exe.

On va aussi cocher la case "Allow to start the application after Setup has finished". Ainsi votre application se lancera après son installation.


On ajoute ensuite les dossiers et les fichiers dont l'application aura besoin pour fonctionner.

Attention, si vous avez des dossiers, encapsulez-les dans un autre dossier. Par exemple, pour MAKuisine, j'ai besoin d'un dossier contentant tous les éléments de la base de données. Pour garder ce dossier, je vais l'inclure dans un dossier que je vais appeler baseDeDonnees. Ainsi mon dossier se retrouvera intacte dans le dossier de mon application.

En faisant "Add folder", on ajoute donc des dossiers contenant des fichiers et des dossiers. Si vous avez des sous-dossiers Inno Setup va vous demander si vous voulez les inclure.

Inno Setup subfolder

En faisant, add files on ajoute directement les fichiers qui se trouveront au même endroit que l'exécutable de notre application.

Faites Next.

 

A la fenêtre suivante, Inno setup va nous demander tous les raccourcis que l'on veut créer pour notre application et le nom que l'on veut leur attribuer.

Inno Setup configuration des raccourcis

 

  • Allow user to change Start Menu folder name : laisse la possibilité à l'utilisateur de changer le nom du dossier dans le menu démarrer.
  • Allow user to disable Start Menu folder creation : laisse la possibilité à l'utilisateur de désactiver la création des raccourcis dans le menu démarrer.
  • Create an Internet Shortcut in the Start Menu folder : un lien vers le site web qui distribue votre application pourle dossier du Menu Démarrer
  • Create an Uninstall icon in the Start Menu folder : ajoute une icône de désinstallation au menu démarrer.
  • Allow user to create a desktop icon : laisse la possibilité à l'utilisateur de créer un raccourci sur le bureau.
  • Allow user to create a Quick Launch icon : laisse la possibilité à l'utilisateur de créer un raccourci dans la barre Quick Launch. C'est une barre de raccourcis située juste à droite du menu Démarrer.

Faites Next

 

Ensuite on va vous demander les fichiers que vous voulez associer à votre application et qui vont « customiser » l'installeur.

Ces fichiers seront des fichiers texte (txt, rtf).

Ce sera l'occasion pour nous de préciser à nos utilisateurs les droits de notre application, mais aussi les améliorations qui été mises en place depuis la dernière version.

Vous pouvez choisir de montrer ces informations avant ou après l'installation.

Inno Setup fichiers associés

Faites Next

 

La fenêtre suivante nous demande les langues que l'on veut associer à notre installeur. Choisissez de préférences les langues disponibles au sein de votre application si elle est multilingue. Le choix pour l'utilisateur se fera évidemment en début d'installation.

Inno Setup les langues d'installation

Faites Next


Ensuite nous allons configurer les paramètres de compilation :


Inno Setup paramètres de compilation

Custom compiler output folder : on y indiquera le dossier dans lequel on veut voir apparaître notre installeur.

Compiler output base file name : indiquez un nom pour votre installeur sans espace.

Custom setup icon file : là encore vous allez ressortir la jolie icône que vous avez faite précédemment. Comme quoi, on ne s'est pas fatigué pour rien !

Le dernier champ permet de protéger votre installeur avec un mot de passe. Seul ceux qui auront le mot de passe pourront installer votre programme.


Faites Next


Vous pouvez utiliser le pré-processeur d'Inno Setup pour compiler et ainsi simplifier votre script. Je vous conseille de laisser cocher l'option et de faire Next.

Inno Setup choix pré-processeur

 

On vous demande si vous voulez compiler votre scipt. Vous pouvez faire oui ou non. On peut attendre un peu et faire "Non" car on va modifier légèrement notre script pour qu'il colle parfaitement à notre programme

Inno Setup questions

 

Ici j'ai fais "Oui" pour les besoins du tutoriel et que vous ayez une jolie capture d'écran de l'exécution du script.

Inno Setup question compile

 

Ensuite, Inno setup nous demande si on veut sauvegarder le script et évidemment que l'on va le faire car on n'a pas fait tout ça pour rien et c'est toujours utile de garder son script pour les versions suivantes.

Inno Setup enregistrer le script

 

Inno Setup compilation

Après la compilation, vous avez votre installeur qui empaquète tous vos fichiers et l'exécutable de votre application. Vous n'avez plus qu'à tester si le tout fonctionne comme vous le souhaitez.

Inno Setup icone de l'installeur


BONUS : Modification du script de génération du programme d'installation ! !

Allé, comme on a toujours besoin d'un peu de customisation, nous allons modifier notre script pour qu'il fasse ce que l'on veut.

Nous n'allons voir que très peu d'options par rapport aux possibilités d'Inno Setup mais la documentation est bien faite et pourra vous aider dans les cas que je n'ai pas abordé.... surtout maintenant que vous vous êtes familiarisé avec l'outil !


CAS PRATIQUE :

Installer seulement si le dossier n'existe pas

Si l'utilisateur n'installe pas le programme pour la première fois, je ne veux pas que la base de données soit remplacée. Pour MAKuisine, chaque utilisateur à une base embarquée.

On va donc lui spécifier que si le dossier contenant la base de données existe on ne veut pas qu'il le remplace. Si c'est la première fois que l'utilisateur installe notre logiciel on va installer la base de données.

Pour cela repérez la ligne de script dans la partie [Files] qui spécifie le chemin de votre dossier ou fichier. Dans notre cas la ligne devient :

Source : .... ajoutez à la fin de la ligne onlyifdoesntexist

Exemple :

Source : "C:\Users\Bervas\Desktop\SetUpMAKuisine\LesRecettes\*"; DestDir:"{app}\MAKuisine"; Attribs: system; Flags: ignoreversion recursesubdirs createallsubdirs

Devient

Source : "C:\Users\Bervas\Desktop\SetUpMAKuisine\LesRecettes\*"; DestDir:"{app}\MAKuisine"; Attribs: system; Flags: ignoreversion recursesubdirs createallsubdirs onlyifdoesntexist


Ne pas mettre tous les fichiers dans le même dossier.

Windows recommande de ne pas mettre les fichiers que l'utilisateur peut modifier dans le dossier programme files mais dans le dossier appData.

Notre programme possède donc des fichiers modifiables dans le cas de MAKuisine, c'est la base de données. Nous allons donc spécifier à l'installeur que nous voulons le dossier de la base de données sous appData afin qu'il soit modifiable par l'utilisateur.

On va donc modifier l'argument de DestDir :

Source: "C:\Users\Bervas\Desktop\SetUpMAKuisine\LesRecettes\*"; DestDir:"{app}\MAKuisine"; Attribs: system; Flags: ignoreversion recursesubdirs createallsubdirs

Devient

Source: "C:\Users\Bervas\Desktop\SetUpMAKuisine\LesRecettes\*"; DestDir:"{userappdata}\MAKuisine"; Attribs: system; Flags: ignoreversion recursesubdirs createallsubdirs onlyifdoesntexist

 

Deplacer un dossier chez l'utilisateur s'il existe

Restons sur l'exemple de notre base de données. Dans la version 1.0 de MAKuisine le dossier de la base de données se trouvait dans Program files mais je l'ai déplacé dans le dossier appdata selon les recommandations de Windows. J'avais donc besoin pour les utilisateurs qui changeaient de version de déplacer leur base du dossier "Program files" au dossier "appdata". Ce qui nous donne :


Source : "{pf}\MAKuisine\MyDB\*"; DestDir:"{userappdata}\MAKuisine\MyDB"; Flags: ignoreversion external skipifsourcedoesntexist recursesubdirs createallsubdirs;

skipifsourcedoesntexist : remarquez cette expression qui nous permet d'éviter la commande si le dossier n'existe pas dans program file. Ce qui était le cas pour les utilisateurs installant pour la première fois le logiciel. En effet, la base initiale allait s'installer au bon endroit.



Donner tous les droits à l'utilisateur pour l'installation.

Source : "C:\Users\Bervas\Desktop\SetUpMAKuisine\MAKuisine.exe"; DestDir: "{app}"; Attribs: system; Permissions: authusers-modify admins-modify everyone-modify powerusers-modify Users-full system-modify users-modify; Flags: ignoreversion

 

Je veux faire une mise à jour de mon programme :

Pour faire proprement une mise à jour de votre programme et qu'Inno setup ne crée pas des fichiers inutiles, il vous suffit d'utiliser le même identifiant que pour votre première version. Vous aurez ainsi un seul dossier concernant votre application dans Ajout/suppression de programme.

Dans votre script, chercher le champ AppId dans la section Setup.

Dans un premier temps, aller chercher l'identifiant de votre vieille version, le copier. Aller ensuite le coller dans votre nouveau script en remplaçant celui généré automatiquement.

Cet identifiant est celui utilisé par windows comme clé de registre.

Et voilà...

Une fois que votre script est complet cliquez sur la petite flèche verte pour compiler votre installeur.

Il ne vous reste plus qu'à le tester.
Vous voilà à la fin de ce tutoriel qui, je l'espère, aura été suffisamment complet pour vous aiguillez dans la création d'un exécutable pour votre application.

 

Vous êtes ici :   AccueilDéveloppeursPCCréer un programme d'installation avec Inno Setup
| + - | RTL - LTR

Contact MAKapp :

Copyright © Anne-Karine Bervas 2010-2013. Copyright © Mickaël Antonio 2010. All rights reserved.