Tutoriel : Faciliter la diffusion et l'installation de vos créations
Création d'un installeur basique
Cette méthode consiste à créer un installeur
basique à partir d'un zip créé au préalable. Son gros avantage est
d'être réalisable sans aucune ligne de code.
Pour cela, vous devrez utiliser NSIS, un
freeware permettant la création d'installeurs et de
désinstalleurs.
Vous pourrez télécharger la dernier version de NSIS ici : Télécharger NSIS.
En voici les étapes détaillées : nous prendrons
comme exemple la campagne 16 Cygni
Note : comme toujours, n'oubliez pas de
cliquer sur les images pour voir une version agrandie et également
plus lisible.
1. Créer le Zip contenant les dossiers
Dans un premier temps, vous devez créer un Zip
contenant vos dossiers, pour cela :
-
Dans un répertoire dédié, créez tout les
répertoires où vous aurez des fichiers à copier tels qu'ils le
sont dans le répertoire de "Mes Documents/Neverwinter
Nights 2
" :
- Placez vos fichiers
-
Compressez ensuite vos répertoires en un seul
Zip. Attention : bien compresser en Zip, sinon votre
archive sera inutilisable.
2. Créer l'exécutable
-
Lancer NSIS et sélectionner "Installer based on
Zip file"; vous devriez arriver sur cette page :
- Dans Source Zip File [1],
sélectionnez votre archive précédemment créée.
- Dans Installer Name [2], entrez le
nom de votre création (C'est le nom qui apparaitra dans la barre
des taches Windows).
- Sélectionner L'interface [3] que
vous désirez (Note de Baldurien : changer ce paramètre ne
changera que le thème de l'installeur final, inutile de vous
prendre la tête avec).
-
Dans Default Folder [4], entrez
le chemin du répertoire Neverwinter Nights 2 par
défaut.
Dans la majorité des cas, celui-ci est situé
dans "Mes Documents", entrez donc :
$documents\Neverwinter Nights 2
.
$documents correspond au dossier
Mes Documents quelque soit le système
d'exploitation.
Attention de bien respecter les espaces et
l'orthographe de Neverwinter Nights 2.
- Dans Output EXE File [5], entrez
le chemin où vous souhaitez créer votre exe.
- Dans Compression [6], sélectionnez
votre format de compression (LZMA recommandé, voir wikipedia à ce sujet).
- Cliquez sur Generate.
Votre installeur est prêt !!!
3. Résultat final
Création d'un installeur avancé
Après la méthode de création avec Zip21, voici la méthode
de création avec le système de compilation NSIS proprement dit.
Zip2 a de l'intérêt dans la mesure ou il s'agit d'un
assistant très simple et donc ... un peu basique et limité.
NSIS, lui, vous permettra avec quelques lignes de codes de créer un
installeur beaucoup plus performant ou toutes les fantaisies vous
seront permises (ajout de fonctions, personnalisation graphique,
etc...).
Je vous présente donc ici un tutoriel qui vous
permettra de découvrir quelques fonctions adaptées (à mon gout)
pour Neverwinter Nights 2.
La méthode est organisée ainsi :
- Télécharger ce
fichier Zip contenant des fichiers de base (et qui sont utilisés
dans le tutoriel ci-dessous)
- Dans un dossier, placer le script
installeur.nsi et deux répertoires
Donnees_a_installer et Donnees_installeur.
- Dans le dossier Donnees_a_installer,
placer tout les dossiers habituellement présents dans Mes
documents/Neverwinter Nights 2 qui vous sont utiles.
- Dans Donnees_installeur, placer les
éventuels fichiers nécessaires à la personnalisation de
l'installeur (icone, bannière...).
- Ecriture du script suivant le tutoriel ci
dessous. Pour ce faire, un éditeur avancé type Notepad++ peut s'avérer très utile.
- Lancement du script par un clic droit, puis
Compile NSIS script.
- Test du résultat.
1. Structure de base du fichier installeur.nsi
Name "Nom_de_votre_création"
OutFile "Install.exe"
SetCompressor 'lzma'
InstallDir "$documents\Neverwinter Nights 2"
RequestExecutionLevel user
!include "MUI.nsh"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
Section "Section I"
SetOutPath $INSTDIR
File /r "Donnees_a_installer\*.*"
SectionEnd
Voici une brève description des variables présentes dans le fichier installeur.nsi :
Name
: Entrez le nom de votre création
Outfile
: Entrez le chemin et le nom de votre exe
SetCompressor
: Choix du compresseur (LZMA recommandé).
InstallDir
: Répertoire d'installation. "$documents" pour mes documents. Laissez "$documents\Neverwinter Nights 2".
RequestExecutionLevel user
: Pour Windows Vista et Seven, évite que l'on soit obligé d'être en mode administrateur pour réaliser l'installation.
!include "MUI.nsh"
: Charge l'interface moderne (plus sympa)
!insertmacro MUI_PAGE_DIRECTORY
: Il s'agit de la page qui demande le répertoire d'installation.
!insertmacro MUI_PAGE_INSTFILES
: Il s'agit de la page d'installation des fichiers.
SetOutPath $INSTDIR
et File /r `D:\...
: File /r
Compresse les dossiers et fichiers se trouvant à l'adresse qui suit en vue d'être installés à l'adresse spécifiée après SetOutPath
(ici le répertoire d'installation).
Voilà, vous êtes maintenant en mesure de créer un installeur basique sans passer par zip2 et la parfois longue étape de Compression/Décompression.
Maintenant que vous en êtes arrivé là, il serait dommage de ne pas ajouter quelques fonctions.
2. Personnalisation de l'interface
Choix de la langue : Pour changer la langue
(en français par exemple) il suffit d'insérer avant
!insertmacro MUI_PAGE_DIRECTORY
le code suivant :
!insertmacro MUI_LANGUAGE "French"
.
Choix de l'icône : pour définir l'icône,
ajouter avant les directives !insertmacro
le code
suivant !define MUI_ICON
"Donnees_installeur\icone.ico"
où
Donnees_installeur\icone.ico est le chemin de l'icone (en
adresse relative par rapport au dossier de stockage de votre
script).
Insertion de textes personnalisés : pour
insérer du texte personnalisé dans la page DIRECTORY,
utiliser la commande DirText. Celle-ci est à placer
après les directives !insertmacro
.
Par exemple :
DirText "Veuillez sélectionner le répertoire de Neverwinter Nights 2"
Si vous souhaitez modifier d'autres textes. Ils
sont visibles dans le fichier "...\NSIS\Contrib\Language
files\french.nlf"; vous ne devez pas éditer ce fichier
directement. [Note de Baldurien : vous devez copier les lignes
présentes dans ce fichier pour surcharger dans votre installeur les
textes affichés sur l'écran d'installation]
Insertion d'images : vous avez la
possibilité d'insérer des images dans vos différentes pages. Je
vais vous présenter ici la méthode pour insérer une bannière en
haut de toutes les pages.
Pour cela, avant les directives
!insertmacro
, insérez :
!define MUI_HEADER_TRANSPARENT_TEXT
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
!define MUI_HEADERIMAGE_BITMAP "Donnees_installeur\image.bmp"
Où Donnees_installeur\image.bmp est l'adresse
relative de votre image (en 500 pixels de large pour couvrir tout
la largeur de l'installeur).
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
: évite que votre image ne soit retaillée à environ 100 pixels de large.
!define MUI_HEADER_TRANSPARENT_TEXT
: évite que des zones de textes inutilisées ne se retrouvent devant votre image.
3. Rajout de sections
Il peut être utile de rajouter des sections. Vous
pourrez ainsi laisser à l'utilisateur le choix de n'installer (ou
réinstaller en cas de problème) que les haks, que les modules,
etc...
Par exemple, on peut obtenir l'affichage suivant :
Pour réaliser ceci, c'est très simple. Rajoutez une
section comme dans le premier exemple et une page de sélection des
sections.
Ce qui nous donne, à ajouter après la directive
!insertmacro MUI_PAGE_DIRECTORY
:
!insertmacro MUI_PAGE_COMPONENTS
Et, à mettre à la place de la Section I :
Section "hak"
SetOutPath "$INSTDIR\hak"
File /r "Donnees_a_installer\hak\*.*"
SectionEnd
Section "modules"
SetOutPath "$INSTDIR\modules"
File /r "Donnees_a_installer\modules\*.*"
SectionEnd
Section "campaigns"
SetOutPath "$INSTDIR\campaigns"
File /r "Donnees_a_installer\campaigns\*.*"
SectionEnd
4. Pour aller plus loin...
Vous pourrez en apprendre plus sur le système de
scripts inclut avec NSIS en allant à l'adresse suivante : http://www.todae.fr/nsis/docs/.
Voilà, vous avez maintenant toutes les cartes en
mains pour créer un installeur plus performant et personnalisé.
N'hésitez pas à formuler des remarques et proposer de nouvelles
fonctionnalités.
Tutoriel rédigé par HiPPiaS, reformatté pour la Bibliothèque de Neverwinter Nights par Baldurien.
Merci à Phelim pour ses conseils sur le packaging de contenu et ses remarques quant à ce tutoriel.
Merci à Claudius33 de m'avoir permis d'utiliser 16 Cygni pour mes tests.
Pour tout savoir sur NSIS, connectez vous sur todae.fr.
1 Zip2 est
l'utilitaire présenté dans la première partie de ce tutoriel
(Création d'un installeur basique).