TUTORIAL :Créer un setup d'un programme avec InnoSetup
NIVEAU : INITIES
Pré requis pour comprendre cetutorial :
- Connaîtreun peu le système de fichier de Windows
Auteur : Dark sidious
Date de création :10/05/2004
Version : 1.0
SOMMAIRE
I- Introduction
II- Ce qu'il vous faut avant de commencer
III- L'assistant de InnoSetup
IV- Etape 1 : Généralité sur le programme
V- Etape 2 : Dossier d'installation
VI- Etape 3 : Exe et autres fichiers
VII- Etape 4 : Raccourcis et menu démarrer
VIII- Etape5 : Fichiers de licence
IX- Etape 6 : Comprendre le script généré
X- Conclusion
INTRODUCTION
Qui n'a jamais pesté des incompatibilités d'un setupcrée avec l'assistant empaquetage et déploiement de VB 6 ? Qui n'a jamaisrêvé de faire des setup au look professionnel pour concurrencer ceux deslogiciels commerciaux. Qui n'a jamais eu des problèmes de déploiements de leursprogrammes sur un autre ordinateur ? Je ne vous promets pas de pouvoirrésoudre tout ces problèmes, mais en tout cas, vous verrez qu'une installationcrée par le logiciel InnoSetup est bien plus puissante qu'une installation créepar l'assistant empaquetage et déploiement !
Ce tutorial est destiné à vous présenter InnoSetup,un logiciel gratuit qui permet de créer des setup de manière trèsprofessionnelle, qui peut enregistrer les librairies dans le registre, de créerdes raccourcis, de créer des dossiers, de créer des désinstallateurs, et toutcela très rapidement.
J'espère que la lecture de ce tutorial vous seraplaisante, et que cela vous donnera envie d'utiliser InnoSetup pour créer tousvos programmes d'installation.
Bonne lecture, et bonne compréhension.
CE QU'IL VOUS FAUT AVANTDE COMMENCER
Avant de vous lancer dans les exemples pratiques dece tutorial, il vous faut télécharger et installer le logicielnécessaire : InnoSetup.
InnoSetup est un logiciel gratuit qui est un éditeurde script iss (le format des scripts de InnoSetup) et un compilateur deprogramme d'installation. Vous pourrez le trouver sur le site del'auteur : http://www.jrsoftware.org/isinfo.php
Je vous conseille de télécharger la dernière versionpour être sûr que les derniers bugs rencontrés sont corrigés. Pour ce tutorial,la version 4.2.2 sera utilisée mais les versions supérieures devraient être compatiblesavec les scripts de la version 4.2.2.
Une fois téléchargé, il vous fautinstaller ce logiciel.
Pour pouvoir créer l'exemple de setup de ce tutorial,il faut que vous ayez un projet exécutable que vous allez installer avec leprogramme d'installation que nous allons créer avec InnoSetup.
L'ASSISTANT DE INNOSETUP
Nousallons maintenant voir comment fonctionne l'assistant d'InnoSetup. Lancez doncInnoSetup compiler, et sélectionnez dans la page de présentation « createa new script file using the script wizard » :
Celavous permet de lancer l'assistant de création de script d'InnoSetup, vouspourrez ainsi vite vous rendre compte de la puissance de personnalisation desinstallations crées par InnoSetup !
Validezla boîte de dialogue en appuyant sur le bouton OK.
L'assistantse lance alors, et vous guidera dans toutes les étapes de créationd'installateur en vous demandant des informations sur le logiciel à installer,et les prendra en compte pour créer le script final.
Validerla page de présentation de l'assistant en appuyant sur le bouton Next >
ETAPE1 : GENERALITE SUR LE PROGRAMME
L'assistantvous demande alors d'entrer le nom du programme à installer ainsi que le nom duprogramme avec la version :
Notezque seul les champs Application Name et Application name including version sontobligatoires. Vous pouvez supprimer les autres informations, ainsi ellesn'apparaîtront pas dans le setup final.
Application Name : il s'agit du nom del'application à installer
Application name includingversion : il s'agit du nom de l'application à installer avec son numéro deversion.
Application website : il s'agit d'un siteinternet qui propose de l'aide ou des mises à jour du logiciel installé.
Applicationpublisher : il s'agit de l'auteur ou de la compagnie qui a développé le logiciel àinstaller.
Définissezdonc tout ses paramètres de personnalisation, et cliquez sur le bouton Nextpour passer à l'étape suivante.
ETAPE 2 : DOSSIERD'INSTALLATION
Laprochaine étape consiste à définir le dossier d'installation de votreprogramme :
Vouspouvez installer votre programme dans le dossier Program Files de l'ordinateuren sélectionnant « Program File directory » dans le comboboxApplication destination base directory, ou vous pouvez spécifier un nom dedossier personnalisé en sélectionnant « Custom ».
Vousdevez également définir le nom par défaut du dossier qui sera créé pourcontenir votre programme après l'installation. Vous pouvez permettrel'utilisateur de modifier le nom du dossier par défaut en cochant le checkboxAllow user to change the application directory, ou vous pouvez spécifier quevotre programme ne nécessite aucun répertoire d'installation en cochant lecheckbox The application doesn't need a directory.
Laissezles paramètres par défaut d'InnoSetup car ils conviennent à notre exemple.
Validercette étape en cliquant sur le bouton Next >
ETAPE 3 : EXE ETAUTRES FICHIERS
Laprochaine étape consiste à sélectionner le programme exécutable de votreapplication. Il s'agit du programme lui-même en fait, ainsi que tout les autresfichiers indispensables pour le bon fonctionnement de votre application :
Poursélectionner votre fichier exécutable, cliquez sur le bouton Browse., etchercher votre programme dans la feuille d'ouverture de windows qui s'affiche(vous pouvez également taper directement le chemin de votre programme dans letextbox disponible).
Lecheckbox Allow user to start the application after setup has finished vouspermet d'afficher un checkbox à la fin de l'installation qui permet àl'utilisateur de lancer votre programme une fois installé.
Vouspouvez également grâce à cette boîte ajouter tout les fichiers nécessaire à labonne exécution de votre programme (dll, ocx, activeX, base de données, images,etc.).
Pourse faire, cliquez sur le bouton Add file(s). et sélectionnez le fichier àajouter. Vous pouvez également inclure le contenu de tout un dossier encliquant sur le bouton Add directory.
Sivous ajouter un fichier, vous pouvez spécifier l'emplacement dans lequell'installation doit le copier en le sélectionnant dans la liste des fichiersajoutés, et en cliquant sur le bouton Edit. :
Uneboite de dialogue s'ouvre alors ressemblant à celle de l'étape précédente, etvous pouvez définir dans quel dossier vous voulez copier le fichier lors del'installation.
Veuillezbien respecter les répertoires de vos fichiers tels qu'ils sont répertoriésdans vos programmes si vous ne voulez pas avoir d'erreurs qui apparaissent lorsde l'exécution de votre programme.
Unefois que vous avez inclus tous les fichiers nécessaires pour le bonfonctionnement de votre programme, et que vous avez définis les répertoires dedestinations des fichiers, cliquez sur le bouton Next > pour passer àl'étape suivante.
ETAPE4 : RACCOURCIS ET MENU DEMARRER
Cetteétape consiste à définir les raccourcis d'accès à votre programme, et permettreainsi à l'utilisateur de lancer rapidement votre programme.
Vouspouvez ainsi définit le nom du raccourci à afficher dans le menu démarrer.Celui-ci sera inclus dans le dossier portant le nom de votre programme.
Enplus de définir le nom du raccourci, vous pouvez permettre (ou non) àl'utilisateur de modifier le nom du dossier dans le menu démarrer en cochantl'option Allow user to change the start menu folder name. L'option allow userto disable start menu folder creation permet quand à elle à l'utilisateur dedésactiver la création d'un raccourci dans le menu démarrer.
L'optioncreate an internet shorcut in the start menu folder permet de placer unraccourci vers le site internet mentionné dans la première étape dans ledossier de votre programme dans le menu démarrer. L'utilisateur pourra ainsirapidement se rendre sur le site internet en cliquant sur ce raccourci.
L'optioncreate en uninstall icon in the start menu folder permet de placer un raccourcivers le programme de désinstallation de votre application dans le menudémarrer.
L'optionallow user to create a desktop icon permet à l'utilisateur de créer ou non unraccourci de votre application sur le bureau.
L'optionallow user to create a quick launch icon permet à l'utilisateur de créer ou nonun raccourci de votre application dans la barre de lancement rapide de Windows.
Unefois que vous avez définis les raccourcis à créer lors de l'installation,cliquez sur le bouton Next >
ETAPE 5 : FICHIERSDE LICENCE
Uneoption très intéressante d'InnoSetup est de pouvoir afficher des fichiers delicence ou d'information lors de votre installation.
Ilvous faut auparavant créer des fichiers au format txt que vous pouvez alorsinclure dans votre setup et les montrer soit au démarrage de l'installation,soit à la fermeture.
Letextbox license file permet d'ajouter un fichier de licence à votreinstallation.
Letextbox information file shown before installation permet d'ajouter un fichierd'information à afficher avant l'installation (par exemple un fichier derecommandation ou de matériel requis).
Letextbox intormation file shown after installation permet d'ajouter un fichierd'information à afficher après l'installation (par exemple, un fichier lisezmoi).
Voilà,il s'agit de la dernière étape de l'assistant. Si vous cliquez sur le boutonNext >, une dernière page s'affiche vous indiquant que vous êtes arrivé aubout de l'assistant, et que le script InnoSetup va être crée :
Ilvous suffit alors de cliquez sur le bouton Finnish pour générer le scriptd'installation et retourné dans l'éditeur de script InnoSetup.
ETAPE 6 : COMPRENDRELE SCRIPT GENERE
InnoSetupvous demande si vous voulez compiler le script généré dès qu'il a fini de leconcevoir. Mais avant de foncer tête baissée sur le fichier d'installationcrée, il va falloir réfléchir un peu et essayer de comprendre le script qui aété généré pour savoir le personnaliser.
Toutd'abord, vous pouvez remarquer que certaines lignes sont colorées en vert, etqu'elles ont toutes le caractère « ; » comme premier caractère deligne. Il s'agit de lignes de commentaires : des lignes qui serontignorées par le compilateur lors de la génération du programmationd'installation final, mais ces lignes sont bien pratiques pour documenter votrescript InnoSetup !
Lescript se décompose en plusieurs parties qui sont facilement reconnaissablescar elles sont toutes précédées par une balise indiquant le type de partie quiva suivre. Vous pouvez ainsi voir les principales parties suivantes :
- [Setup] : partie qui traite des généralités du setup : titre,version, dossier d'installation, URL de sites internet, etc.
- [Tasks] : partie qui traite des travaux disponibles lors del'installation : il s'agit d'étape qui demande un choix à l'utilisateur.Par exemple, l'utilisateur peut ou non créer un raccourci vers votre programmesur son bureau.
- [Files] : partie qui traite des fichiers inclus dans le programmed'installation. C'est la partie la plus important du script puisque c'est ellequi vous permet de définir l'emplacement final de chaque fichier. Elle vouspermet aussi de vérifier les versions de fichiers, de réagir selon l'anciennetéd'une version, d'enregistrer une librairie dans le registre, etc.
- [Icons] : partie qui définit les icônes à créer parl'installation : icônes du bureau, de la barre de lancement rapide, dumenu démarrer, etc.
- [Run] : partie qui indique au programme d'installation quels sontles applications à lancer à la fin de l'installation. Il peut s'agir de votreprogramme lui-même, mais également des librairies stockées dans des programmesd'installation qu'il faut exécuter avant de pouvoir lancer votre programme,etc.
Nous allons maintenant voir ensemble comment sontinterprétées les lignes de chacune de ses principales parties :
LA PARTIE SETUP
La partie setup contient tout ce que le programmed'installation doit savoir sur le nom du programme à installer, sa version,etc. Bref, tout ce qui lui faut pour rendre l'installation plus personnelle.
Voici un exemple de partie setup :
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.mycompany.com
AppSupportURL=http://www.mycompany.com
AppUpdatesURL=http://www.mycompany.com
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
AllowNoIcons=yes
LicenseFile=E:\Program Files\Inno Setup 4\license.txt
InfoBeforeFile=E:\Program Files\Inno Setup 4\Info Before.txt
InfoAfterFile=E:\Program Files\Inno Setup 4\Info After.txt
AppName : Nom du programme principal à installer (sans laversion).
AppVerName : Nom du programme principal à installer avecla version.
AppPublisher : Nom de la compagnie ou de la personnequi distribue le programme.
AppPublisherURL : URL du site Internet dudistributeur du programme.
AddSupport : URL du site Internet qui s'occupe dusupport technique du programme.
AddUpdatesURL : URL du site Internet qui s'occupe dela mise à jour du programme.
DefaultDirName : Répertoire par défaut du programmedans le répertoire Program Files.
DefaultGroupName : Répertoire par défaut du programmedans le menu démarrer.
AllowNoIcons : Autoris ou non la désactivation desicônes de raccourci lors de l'installation.
LicenseFile : Chemin d'accès au fichier contenant les informations delicence du programme.
InfoBeforeFile : Chemin d'accès au fichier contenantles informations à afficher avant l'installation.
InfoAfterFile : Chemin d'accès au fichier contenantles informations à afficher après l'installation.
LA PARTIE TASKS
InnoSetup permet de créer des tâches à éxécuter (ou ne paséxécuter) qui sont bien pratiques. Par exemple, vous pouvez permettre àl'utilisateur de créer ou non un raccourci sur le bureau, un raccourci dans lemenu démarrer, associer votre programme à une extension de fichier, etc.
Voici un exemple de tâche pour permettre à l'utilisateurde lancer (ou non) le programme à la fin du setup, qui sera décochée par défaut(il ne s'agit que de la définition de la tâche, et non de la définition pourlancer un programme (voir la section Run pour cela) :
Name:Demarrage; Description: demarrer le programme à la fin du setup; Flags:exclusive unchecked
Vous devez spécifier : un nom pour la tâche (iciDemarrage) qui permet de l'identifier et de l'appeler lorsque nécessaire. Unedescription (ici « demarrer le programme à la fin du setup ») quipermet d'afficher un texte d'explication dans le setup à côté de la checkbox.
Vous pouvez également spécifier des flags d'options. Ici,nous avons spécifier le flag « exclusive » qui permet d'avoir uncheckbox et non un bouton d'options multiples, et le flag« unchecked » qui permet de décocher l'option par défaut.
LA PARTIE FILE
La partie file du script correspond à la liste desfichiers à intégrer à l'installation : où aller les chercher pour lescompacter dans le setup, et où les placer lors de l'installation. Elle permetégalement de définir les options de copie sous forme de flag.
Exemple de fichiers :
Source: msvbvm60.dll; DestDir:{sys}; Flags: restartreplace uninsneveruninstall sharedfile regserver
Source: comdlg32.ocx; DestDir:{sys}; Flags: promptifolder regserver sharedfile
Source:c:\Images\image.bmp; DestDir: {app}
Dans cet exemple, nous pouvons voir que InnoSetupintégrera le fichier msvbvm60.dll (qui doit être contenu dans le même dossierque le fichier de script, vu qu'aucun répertoire n'est mentionné) dans lesetup. Il le copiera dans le répertoire système (System sous Windows 95/98/NT4, System32 sous Windows 2000/XP). En plus de cela, il indique qu'il s'agitd'un fichier à ne pas désinstaller (flag uninsneveruninstall), qu'il s'agitd'un fichier partagé (sharedfile) et qu'il faut l'enregistrer dans le registre(regserver). De plus, le flag restartreplace permet de remplacer le fichiers'il existe déjà au redémarrage de l'ordinateur (ainsi, innosetup évited'écraser un fichier système en cours d'utilisation !).
InnoSetup intégrera également le fichier comdlg32.ocx, quilui aussi doit se trouver dans le répertoire du script vu qu'aucun répertoiren'est spécifié. Il contient le flag promptifolder qui permet de prévenirl'utilisateur si le fichier à copier est plus ancien que le fichieractuellement installé. Ainsi, l'utilisateur peux choisir de remplacer lenouveau fichier par celui du setup, ou d'ignorer l'écrasement.
Enfin, InnoSetup intégrera dans le setup le fichier image« image.bmp » qui est situé dans le dossier« c:\images\image.bmp », et il le copiera dans le dossier del'application (répertoire {app}) lors de l'installation.
LA PARTIE ICONS
La partie Icons permet de créer les icônes reliées auprogramme. Vous pouvez par exemple créer des icônes sur le bureau, dans labarre des tâches, etc.
Voici un exemple de création d'icône dans le menudémarrer :
Name: {group}\ My Program ; Filename: {app}\ My Program .exe; WorkingDir: {app}
Danscet exemple, nous créons une icône dans le groupe de programmes nommé « MyProgram ». L'icône portera le nom « My Program », et feraréférence au programme 'My Program.exe » que nous installons avec le setupcrée.
LA PARTIE RUN
InnoSetup permet enfin de lancerun programme. Ceci est possible dans la partie Run du script. Par exemple, sivous voulez lancer votre programme nouvellement installé, vous pouvez taper cescript :
Filename: {app}\My Program.exe;WorkingDir: {app}; Tasks: Demarrage
Remarquez l'utilisation de latâche Demarrage : si le checkbox de cette tâche n'est pas côché, le setupn'éxécutera pas le programme ! Vous pouvez ainsi permettre à l'utilisateurde personnaliser son installation avec des tâches, et vous en servir pourcopier des fichiers, créer des icônes, etc.
CONCLUSION
Vous venez de créer votrepremière installation avec InnoSetup. Vous pouvez déjà remarquer combien il estfacile et rapide de faire une installation intuitive grâce à l'assistant deInnoSetup ! InnoSetup a le grand avantage d'être très personnalisable, etvous pouvez presque tout modifier, que ce soit la langue, les images, lesétapes d'installation, etc. Mais ceci dépasse le cadre de ce tutorial qui n'estqu'une brève introduction à ce qu'il est possible de faire avec ce programmemerveilleux !
Je peux vous conseillerd'utiliser le programme ISTools, le compagnon idéal de InnoSetup qui permet depersonnaliser l'installation crée d'une manière encore plus intuitive qu'avecInnoSetup !
J'espère que la lecture de ce tutorialvous a satisfaite.