Précédent | Sommaire | Suivant

4.5 Pages

Chaque installation NSIS (non silencieuse) possède un jeu de pages. Chaque page peut être une page interne, ou bien une page personnalisée, créée par une fonction utilisateur (avec InstallOptions par exemple).

Avec les scripts, vous pouvez contrôler l'ordre des pages, l'apparence et le comportement. Vous pouvez sauter des pages, les colorier en blanc, forcer l'utilisateur à rester sur une certaine page tant qu'une condition n'est pas remplie, afficher une page de lisez-moi, afficher des pages personnalisées, et plus encore. Dans cette section, vous apprendrez comment contrôler tout cela.

Il existe deux commandes de base, concernant les pages, Page et UninstPage. La première ajoute une page à l'installation, tandis que la seconde ajoute une page à la désinstallation. Au dessus d'elles se trouvent la commande PageEx qui vous permet d'ajouter une page avec un grand nombre d'options. PageEx vous permet de définir les options de la page en cours de création, au lieu d'utiliser celle par défaut lorsque vous les créez en dehors de PageEx.

4.5.1 Ordonnancement

L'ordre des pages est défini simplement par l'ordre d'apparition dans le script. Par exemple :

 Page license
 Page components
 Page directory
 Page instfiles
 UninstPage uninstConfirm
 UninstPage instfiles

Ce code affichera la page de la licence, puis celle de sélection des composants, celle de la sélection du répertoire, et va terminer par celle de l'installation des fichiers, afin de reproduire l'affichage des anciennes installations. La désinstallation affichera en premier la page de confirmation, puis le journal de la désinstallation.

Vous pouvez spécifier la même page plusieurs fois, si vous savez ce que vous faites.

Pour une compatibilité ascendante avec les anciens scripts NSIS, les pages d'installation suivantes vont être ajoutées su aucune page d'installation n'est spécifiée : license (si LicenseText et LicenseData ont été spécifiés), components (si ComponentText a été spécifié et qu'il existe plus d'une section visible), directory (si DirText a été spécifié) ainsi que instfiles. Si aucune page de désinstallation n'est spécifiée, les pages de désinstallations suivantes seront ajoutées : page de confirmation de désinstallation (si UninstallText a été spécifié) ainsi que instfiles. Cette méthode est dépréciée, la conversion des scripts en ajoutant les commandes de gestion des pages est hautement recommandée car cela vous permettra d'utiliser les nouvelles chaînes de langue standard.

4.5.2 Options des pages

Chaque page possède ses propres paramètres définissant son apparence et son comportement. Cette section décrit chaque paramètre utilisé par chaque type de page, et comment le définir. Les fonctions d'interaction sont décrites plus bas et ne sont pas traitées dans cette section.

La liste ci-dessous donne les commandes affectant un certain type de page. A moins d'être mentionné, ces commandes peuvent être utilisées à la fois dans et en dehors d'un bloc PageEx. Si elle est utilisée dans un bloc PageEx, elle n'affecterons que la page en cours de création avec PageEx, sinon elles seront prises par défaut par les autres pages.

Page de la licence

Page de sélection des composants

Page de sélection du répertoire

Page de journalisation de la (dés)installation

Page de confirmation de la désinstallation

Pour définir le titre d'une page, utilisez Caption.

4.5.3 Interaction

Chaque page interne possède deux fonctions d'interaction : la fonction pre, la fonction show-création et la fonction leave. La fonction pre est appelée juste avant la création de la page, la fonction show est appelée juste après avoir été créée et avant d'être affichée et la fonction leave est appelée après que l'utilisateur ait pressé le bouton Suivant et avant de quitter la page.

  • La fonction pre vous permet de passer la page en utilisant Abort.
  • La fonction show vous permet de personnaliser l'interface de la page avec CreateFont, SetCtlColors, SendMessage ou bien d'autres fonctions.
  • La fonction leave vous permet de forcer l'utilisateur à rester sur la page courante en utilisant la commande Abort.

Une page personnalisée ne possède que deux fonctions d'interaction, une qui la créé ce qui est obligatoire, et une fonction leave qui agit comme la fonction leave d'une page interne.

Exemples :

 Page license skipLicense "" stayInLicense
 Page custom customPage "" ": page personnalisée"
 Page instfiles

 Function skipLicense
   MessageBox MB_YES "Voulez-vous passer la page Licence ?" IDNO no
     Abort
   no:
 FunctionEnd

 Function stayInLicense
   MessageBox MB_YES "Voulez-vous rester sur la page Licence ?" IDNO no
     Abort
   no:
 FunctionEnd

 Function customPage
   GetTempFileName $R0
   File /oname=$R0 pageperso.ini
   InstallOptions::dialog $R0
   Pop $R1
   StrCmp $R1 "cancel" done
   StrCmp $R1 "back" done
   StrCmp $R1 "success" done
   error: MessageBox MB_OK|MB_ICONSTOP "Erreur InstallOptions :$\r$\n$R1"
   done:
 FunctionEnd

4.5.4 Page

custom [fonction_creation] [fonction_leave] [titre] [/ENABLECANCEL]
  OU
internal_page_type [pre_function] [show_function] [leave_function] [/ENABLECANCEL]

Ajoute une page d'installation. Voir les sections ci-dessus pour plus d'informations à propos des pages internes personnalisées ainsi qu'à propos des fonctions d'interactions.

internal_page_type peut être:

  • license - page licence
  • components - page de sélection des composants
  • directory - page de sélection du répertoire d'installation
  • instfiles - page d'installation où les sections sont exécutées
  • uninstConfirm - uninstall confirmation page

La dernière page de l'installateur a le bouton annulé désactivé pour éviter toute confusion. Pour l'activer quand même, utilisez /ENABLECANCEL.

4.5.5 UninstPage

custom [fonction_creation] [fonction_leave] [titre] [/ENABLECANCEL]
  OU
internal_page_type [pre_function] [show_function] [leave_function] [/ENABLECANCEL]

Ajoute une page de désinstallation. Voir les sections ci-dessus pour plus d'informations à propos des pages internes personnalisées ainsi qu'à propos des fonctions d'interactions.

Voir Page pour les valeurs possibles de internal_page_type.

4.5.6 PageEx

[un.](custom|uninstConfirm|license|components|directory|instfiles)

Ajoute une page d'installation ou de désinstallation si le préfixe un. a été utilisé. Chaque PageEx doit avoir un PageExEnd associé. Dans un bloc PageEx, vous pouvez définir les options spécifiques à la page, et qui ne s'appliqueront pas aux autres pages. Les options non définies pourront être définies en dehors du bloc PageEx, ou la valeur par défaut sera utilisée si rien n'est défini. Pour définir un sous-titre à une page, utilisez Caption ou SubCaption. Pour définir des fonction d'interaction pour une page définie avec PageEx, utilisez PageCallbacks. Voir les sections ci-dessus pour plus d'informations à propos des pages internes personnalisées ainsi qu'à propos des fonctions d'interactions.

Exemple d'utilisation :

 PageEx license
   LicenseText "Lisez-moi"
   LicenseData lisezmoi.rtf
 PageExEnd

 PageEx license
   LicenseData licence.txt
   LicenseForceSelection checkbox
 PageExEnd

4.5.7 PageExEnd

Termine un bloc PageEx.

4.5.8 PageCallbacks

([focntion_creation] [fonction_leave]) | ([fonction_pre] [fonction_show] [fonction_leave])

Définit les fonctions d'interaction pour une page définie avec PageEx. Ne peut être utilisé qu'à l'intérieur d'un bloc PageEx. Voir les sections ci-dessus pour plus d'informations à propos des fonctions d'interaction.

PageEx license
  PageCallbacks licensePre licenseShow licenseLeave
PageExEnd

Précédent | Sommaire | Suivant


A propos | Contacts | Publicité | Info légales | © Todae 2006-2008

Sites partenaires : discount | avis rémunérés| sorties DVD | Winamp