![]() |
|
Précédent | Sommaire | Suivant 4.5 PagesChaque 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 OrdonnancementL'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 pagesChaque 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 InteractionChaque 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.
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 Pagecustom [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:
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 UninstPagecustom [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 PageExEndTermine 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 |
||
|