Login: Pass:
Création d'un installeur



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.


    En voici les étapes détaillées :

La campagne 16 Cygni est prise pour exemple


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éer 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".

    • Placer vos fichiers
    • Compresser 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 arrivez 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.
    • 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 l'article ).
    • Cliquez sur "Générate".

Votre Installeur est prêt !!!


3/ Résultat final :




Merci à Claudius33 de m'avoir permis d'utiliser "16 Cygni" comme exemple.
Merci à Phelim pour ses précieux conseils.









Création d'un installeur avancé

   Après la méthode de création avec Zip2, 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 divs 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:
  • 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 ++ peux s"avérez très utile.

  • Lancement du script par un clic droit, puis Compile NSIS script.
  • Test du résultat.

1/ Structure de base :

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
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 :

    2.1 : Choix de la langue
Pour changer la langue (en français par exemple) il suffit d'insérer avant :
   !insertmacro MUI_PAGE_DIRECTORY
   un :
   !insertmacro MUI_LANGUAGE "French" .


2.2 : Choix de l'icône
Pour définir l'icône, ajouter avant les !insertmacro un :
   !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).


2.3 : 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 !insertmacro.

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".
Important: Ne pas éditer ce fichier directement.

    2.4 : 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 !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 : Evite 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...

   Exemples:


   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 !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



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.



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


Traduction par : phpBB-fr.com
Powered by phpBB © 2001, 2007 phpBB Group