![]() |
|
Précédent | Sommaire | Suivant 4.6 SectionsChaque installation de NSIS contient une Section ou plus. Chacune d'elles sont créées, modifiées et terminées par les commandes suivantes.
4.6.1 Commandes des sections4.6.1.1 AddSizetaille_ko Indique à l'installation que la section courante nécessite une taille additionnelle de "taille_ko" kilo octets d'espace disque. Seulement valide à l'intérieur d'une section (n'aura aucun effet en dehors d'une section ou dans une fonction). Section AddSize 500 SectionEnd 4.6.1.2 Section[/o] [([!]|[-])nom_section] [index de la section] Commence et débute une nouvelle section. Si est vide, omit, ou débute par -, alors il s'agira d'une section requise et l'utilisateur ne pourra pas la désactiver. Si le nom de section est Uninstall, il s'agira alors d'une section spéciale pour la désinstallation. Si l'index de destination est spécifié, le paramètre sera !defini avec un index de section (qui pourra être utilisé par SectionSetText etc). Si le nom de la section débute par un !, la section sera en gras. Si /o est présent, alors la section n'est pas sélectionnée par défaut. Section "-section masquée" SectionEnd Section # section masquée SectionEnd Section "!section en gras" SectionEnd Section /o "optional" SectionEnd Section "installe quelque chose" SEC_IDX SectionEnd Pour accéder à l'inderx de section, des parenthèses doivent être utilisées et le code doit est situé après dans le script de section. Section test1 sec1_id
SectionEnd
Section test2 sec2_id
SectionEnd
Function .onInit
SectionGetText ${sec2_id} $0
MessageBox MB_OK "name of ${sec2_id}:$\n$0" # will correctly display 'name of 1: test2'
FunctionEnd
Function .onInit
SectionGetText ${sec2_id} $0
MessageBox MB_OK "name of ${sec2_id}:$\n$0" # will incorrectly display 'name of ${sec2_id}: test1'
# plus a warning stating:
# unknown variable/constant "{sec2_id}" detected, ignoring
FunctionEnd
Section test1 sec1_id
SectionEnd
Section test2 sec2_id
SectionEnd
4.6.1.3 SectionEndCette commande ferme la section courante. 4.6.1.4 SectionInindex_typeinstall [index_typeinstall] [RO] Cette commande spécifie les types d'installation (voir InstType) qui activeront la section courante. De multiples commandes SectionIn peuvent être spécifiées (elles seront combinées). Si vous spécifiez RO en paramètre, la section sera alors en lecture seule, ce qui signifie qu'elle sera toujours activée et installée. InstType "complet" InstType "minimal" Section "une section" SectionIn 1 2 SectionEnd Section "une autre section" SectionIn 1 SectionEnd 4.6.1.5 SectionGroup[/e] nom_section_group [index_sortie] Cette commande insère un groupe de section. Le groupe de section sera fermé avec SectionGroupEnd, et devra contenir une ou plusieurs sections. Si le nom de la section débute par un !, la section sera en gras. Si /e est présent, les sections du groupe de section seront développées par défaut. Si l'index de section de destination est spécifié, le paramètre sera !defined avec l'index de la section (qui peut être utilisé pour SectionSetText etc). Si le nom est préfixé par 'un.', il s'agira d'un groupe de section de désinstallation. SectionGroup "du matos" Section "une section" SectionEnd Section "une autre section" SectionEnd SectionGroupEnd 4.6.1.6 SectionGroupEndFerme un groupe de section ouvert avec SectionGroup. 4.6.2 Section de désinstallationUne section spéciale nommée 'Uninstall' doit être créée afin qu'une désinstallation soit générer. Cette section est sensée supprimer tous les fichiers, clés de la base de registre, etc. qui ont été installés par l'installation sur le système. Voici un exemple d'une section de désinstallation simple: Section "Uninstall" Delete $INSTDIR\Uninst.exe ; autosuppression (voir l'explication ci-dessous du pourquoi ça marche) Delete $INSTDIR\myApp.exe RMDir $INSTDIR DeleteRegKey HKLM SOFTWARE\myApp SectionEnd La première instruction Delete marche (supprimer la désinstallation), car la désinstallation est automatiquement copiée dans un répertoire temporaire pour la désinstallation. Notez que dans le code de désinstallation, $INSTDIR contient l'emplacement où le désinstallateur se trouve. Il ne contient pas nécessairement la même valeur que dans l'installateur. Précédent | Sommaire | Suivant |
||
|