50
Création d’installateurs pour Windows avec InnoSetup 5 e rencontre DevelopR6 14 juin 2012 F. Langrognet Laboratoire de Mathématiques de Besançon F. Langrognet () INNOSETUP Juin 2012 1 / 50

Création d'installateurs pour Windows avec InnoSetup

Embed Size (px)

Citation preview

Page 1: Création d'installateurs pour Windows avec InnoSetup

Création d’installateurs pour Windows avecInnoSetup

5e rencontre DevelopR6

14 juin 2012

F. Langrognet

Laboratoire de Mathématiques de Besançon

F. Langrognet () INNOSETUP Juin 2012 1 / 50

Page 2: Création d'installateurs pour Windows avec InnoSetup

INNOSETUP

1 Fiche d’identité - Fonctionnalités

2 Utilisation via l’assistant logiciel

3 Personnalisation

4 Conclusion et alternatives

F. Langrognet () INNOSETUP Juin 2012 2 / 50

Page 3: Création d'installateurs pour Windows avec InnoSetup

INNOSETUP

1 Fiche d’identité - Fonctionnalités

2 Utilisation via l’assistant logiciel

3 Personnalisation

4 Conclusion et alternatives

F. Langrognet () INNOSETUP Juin 2012 3 / 50

Page 4: Création d'installateurs pour Windows avec InnoSetup

Fiche d’indentité

InnoSetup

Site web : www.jrsoftware.org

Auteur : Jordan Russel

Projet actif depuis 199729 mai 2012 : InnoSetup 5.5.0

Licence libre (innosetup license)Permet le déploiement de toutlogiciel (even for commercial use)

F. Langrognet () INNOSETUP Juin 2012 4 / 50

Page 5: Création d'installateurs pour Windows avec InnoSetup

Principales fonctionnalités

InnoSetupCréé un Wizard (.exe)

pour installer une application sous Windows

Fonctionne sur toutes les versions de Windows (depuis Windows 2000) -32 et 64 bits

Gère l’installation, la désinstallation et installations personnalisées (Full,Compact, Custom, ...)

Plusieurs formats de compression

Création de raccourcis (menu Démarrer, sur le Bureau)

Multilinguisme

Installation protégée par mot de passe

Création d’entrées dans la base de registres Windows

F. Langrognet () INNOSETUP Juin 2012 5 / 50

Page 6: Création d'installateurs pour Windows avec InnoSetup

INNOSETUP

1 Fiche d’identité - Fonctionnalités

2 Utilisation via l’assistant logiciel

3 Personnalisation

4 Conclusion et alternatives

F. Langrognet () INNOSETUP Juin 2012 6 / 50

Page 7: Création d'installateurs pour Windows avec InnoSetup

InnoSetup

Principe

F. Langrognet () INNOSETUP Juin 2012 7 / 50

Page 8: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Assitant logiciel de InnoSetupPermet de créer le fichier iss (script) très facilement.

ExempleOn souhaite créer un installateur pour déployer demo_DevelopR6 avec :

developR6.exe

un logo

un fichier de licence

F. Langrognet () INNOSETUP Juin 2012 8 / 50

Page 9: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Une démo !. . .

Ou presque

F. Langrognet () INNOSETUP Juin 2012 9 / 50

Page 10: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Démarrage de InnoSetup

F. Langrognet () INNOSETUP Juin 2012 10 / 50

Page 11: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

On choisit d’utiliser l’assistantlogiciel

F. Langrognet () INNOSETUP Juin 2012 11 / 50

Page 12: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Quelques informations sur leproduit . . .

F. Langrognet () INNOSETUP Juin 2012 12 / 50

Page 13: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Nom de l’application

Version

Editeur

Site web

F. Langrognet () INNOSETUP Juin 2012 13 / 50

Page 14: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Dossier d’installation(Program Files)

Nom du dossier

. . .

F. Langrognet () INNOSETUP Juin 2012 14 / 50

Page 15: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Exécutable à installer

Possibilité de lancer ceprogramme à la fin del’installation

Other application files :dépendances éventuelles(dll)

F. Langrognet () INNOSETUP Juin 2012 15 / 50

Page 16: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Menu Démarrer :

L’utilisateur peut modifier ledossier de l’application

Création d’un lien vers le siteweb

Création d’une entrée pourla désinstallation

Sur le Bureau :

L’utilisateur peut créer unraccourci

F. Langrognet () INNOSETUP Juin 2012 16 / 50

Page 17: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Licence associé au logiciel

F. Langrognet () INNOSETUP Juin 2012 17 / 50

Page 18: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Multilinguisme

F. Langrognet () INNOSETUP Juin 2012 18 / 50

Page 19: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Derniers réglages

Ex : ajout d’une icône

F. Langrognet () INNOSETUP Juin 2012 19 / 50

Page 20: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Voilà, c’est fini !

F. Langrognet () INNOSETUP Juin 2012 20 / 50

Page 21: Création d'installateurs pour Windows avec InnoSetup

Assitant logiciel (Wizard)

Enfin...

presque !

F. Langrognet () INNOSETUP Juin 2012 21 / 50

Page 22: Création d'installateurs pour Windows avec InnoSetup

Fichier .iss / InnoSetup

L’assistant logiciel de InnoSetup créé simplement un fichier .iss (innosetupscript) qu’il faut compiler pour créer l’installateur

F. Langrognet () INNOSETUP Juin 2012 22 / 50

Page 23: Création d'installateurs pour Windows avec InnoSetup

Installation

Installation

F. Langrognet () INNOSETUP Juin 2012 23 / 50

Page 24: Création d'installateurs pour Windows avec InnoSetup

Installation

Choix de la langue

F. Langrognet () INNOSETUP Juin 2012 24 / 50

Page 25: Création d'installateurs pour Windows avec InnoSetup

Installation

Message de bienvenue

F. Langrognet () INNOSETUP Juin 2012 25 / 50

Page 26: Création d'installateurs pour Windows avec InnoSetup

Installation

Affichage et acceptation de lalicence

F. Langrognet () INNOSETUP Juin 2012 26 / 50

Page 27: Création d'installateurs pour Windows avec InnoSetup

Installation

Choix du dossier d’installation

F. Langrognet () INNOSETUP Juin 2012 27 / 50

Page 28: Création d'installateurs pour Windows avec InnoSetup

Installation

Personnalisation des raccourcisIci : le nom du dossier dans leMenu Démarrer

F. Langrognet () INNOSETUP Juin 2012 28 / 50

Page 29: Création d'installateurs pour Windows avec InnoSetup

Installation

Choix supplémentairesIci : création de l’icône sur leBureau

F. Langrognet () INNOSETUP Juin 2012 29 / 50

Page 30: Création d'installateurs pour Windows avec InnoSetup

Installation

Prêt ?

F. Langrognet () INNOSETUP Juin 2012 30 / 50

Page 31: Création d'installateurs pour Windows avec InnoSetup

Installation

Installation termminéeOn peut lancer l’application

F. Langrognet () INNOSETUP Juin 2012 31 / 50

Page 32: Création d'installateurs pour Windows avec InnoSetup

Installation

Menu Démarrer

Le menu Démarrer contient :

Un raccourci versl’application

Un raccourci pour ladésinstallation

Un raccourci vers le site web

F. Langrognet () INNOSETUP Juin 2012 32 / 50

Page 33: Création d'installateurs pour Windows avec InnoSetup

Installation

Raccourci

Raccourci sur le bureau

F. Langrognet () INNOSETUP Juin 2012 33 / 50

Page 34: Création d'installateurs pour Windows avec InnoSetup

INNOSETUP

1 Fiche d’identité - Fonctionnalités

2 Utilisation via l’assistant logiciel

3 Personnalisation

4 Conclusion et alternatives

F. Langrognet () INNOSETUP Juin 2012 34 / 50

Page 35: Création d'installateurs pour Windows avec InnoSetup

Personnalisation

L’assistant logiciel permet de créer un fichier .iss (script innosetup).Ce script est personnalisable.

Structure d’un script InnoSetup

Sections

F. Langrognet () INNOSETUP Juin 2012 35 / 50

Page 36: Création d'installateurs pour Windows avec InnoSetup

SectionsPrincipales sections

[Setup] : informations pour l’installation et la désinstallation

[Languages] : informations pour le multilinguisme

[Files] : liste des fichiers à installer

. . .F. Langrognet () INNOSETUP Juin 2012 36 / 50

Page 37: Création d'installateurs pour Windows avec InnoSetup

Constantes - Variables

Constantes

{app} : le répertoire dans lequel l’application sera installée

{win} : le répertoire dans lequel est installé Windows (ex : C :WINDOWS)

{pf} : le répertoire de Progam Files de Windows

. . .

VariablesDéfinition d’une variable :

F. Langrognet () INNOSETUP Juin 2012 37 / 50

Page 38: Création d'installateurs pour Windows avec InnoSetup

ProgrammationLa section [code]

Section permettant de personnalisation par programmation (Delphi) :

◮ Modifier les pages standards de l’installateur◮ Ajouter des pages◮ Créer des fonctions personnalisées◮ . . .

Programmation événementielle :

◮ Evénements standards :⋆ function NextButtonClick(CurPageId : Integer) : Boolean⋆ function BackButtonClick(CurPageID : Integer) : Boolean⋆ procedure CancelButtonClick(CurPageID : Integer ; var Cancel,

Confirm : Boolean)◮ Evénements personnalisés

Autres fonctions :

◮ function CheckPassword(Password : String) : Boolean◮ function IsAdminLoggedOn() : Boolean

F. Langrognet () INNOSETUP Juin 2012 38 / 50

Page 39: Création d'installateurs pour Windows avec InnoSetup

Programmation

Exemple de personnalisationCréation d’un bouton infos sur chaque page

F. Langrognet () INNOSETUP Juin 2012 39 / 50

Page 40: Création d'installateurs pour Windows avec InnoSetup

Programmation

Exemple de personnalisation

F. Langrognet () INNOSETUP Juin 2012 40 / 50

Page 41: Création d'installateurs pour Windows avec InnoSetup

Registres

Accès Registres

La section [Registry] permet d’accéder à la base de registres Windows(lecture, écriture) lors de l’installation

On peut aussi utiliser les fonctions ad’hoc dans la section [Code]

F. Langrognet () INNOSETUP Juin 2012 41 / 50

Page 42: Création d'installateurs pour Windows avec InnoSetup

Registres

Un exemple d’accès auxregistres

F. Langrognet () INNOSETUP Juin 2012 42 / 50

Page 43: Création d'installateurs pour Windows avec InnoSetup

Registres

Contenu du registre

Entrée Info dans la base deregistres

F. Langrognet () INNOSETUP Juin 2012 43 / 50

Page 44: Création d'installateurs pour Windows avec InnoSetup

Registres

Accès aux registres dans [Code]

Appel à la fonctionRegQueryStringValue

F. Langrognet () INNOSETUP Juin 2012 44 / 50

Page 45: Création d'installateurs pour Windows avec InnoSetup

Registres

Installation

Affichage de la valeur issue de labase de registres

F. Langrognet () INNOSETUP Juin 2012 45 / 50

Page 46: Création d'installateurs pour Windows avec InnoSetup

INNOSETUP

1 Fiche d’identité - Fonctionnalités

2 Utilisation via l’assistant logiciel

3 Personnalisation

4 Conclusion et alternatives

F. Langrognet () INNOSETUP Juin 2012 46 / 50

Page 47: Création d'installateurs pour Windows avec InnoSetup

Conclusion

InnoSetup

Utilisation facile (assistant graphique simple)

Très complet

Personnalisation par programmation

Licence souple

Projet actif, pérenne

Code disponible (Delphi)

Communauté active (forum, ...)

F. Langrognet () INNOSETUP Juin 2012 47 / 50

Page 48: Création d'installateurs pour Windows avec InnoSetup

Logiciels connexes

Logiciels connexes

Inno Script Generator (pour générer et configurer le .iss)

F. Langrognet () INNOSETUP Juin 2012 48 / 50

Page 49: Création d'installateurs pour Windows avec InnoSetup

Alternatives

NSIS

InstallShield

DreamShield

InstalCreator

cpack(/cmake)

Comparaison InnoSetup/NSIS

F. Langrognet () INNOSETUP Juin 2012 49 / 50

Page 50: Création d'installateurs pour Windows avec InnoSetup

Ressourceswww.jrsoftware.org

www.commentcamarche.net/download/telecharger-60-inno-setup-compiler

www.commentcamarche.net/faq/33511-creer-un-setup-d-installation-inno-setup-compiler

www.siteduzero.com/tutoriel-3-38596-inno-setup-un-peu-plus-loin.html

thierryaim.developpez.com/tutoriel/innosetup/iscode/

www.opencandy.com/2011/06/09/installer-platform-comparison-making-the-right-choice/

Création d’installateurs pour Windows avec InnoSetup

FIN

Merci de votre attention

F. Langrognet () INNOSETUP Juin 2012 50 / 50