![]() |
|
Précédent | Sommaire | Suivant 4.2 VariablesToutes les variables sont globales et peuvent être utilisées dans des sections ou des fonctions. Notez que, par défaut, les variables sont limitées à 1024 caractères. Pour étendre cette limite, compilez NSIS avec une plus grande valeur de NSIS_MAX_STRLEN dans les options de compilation ou utilisez la compilation spéciale. 4.2.1 Variables utilisateur$VARNAME Les variables utilisateur peuvent être déclarées avec la commande Var. Vous pouvez utiliser ces variables pour stocker des valeurs, travailler avec la manipulation de chaînes de caractères, etc. 4.2.1.1 Var[/GLOBAL] nom_var Déclare une variable utilisateur. Les caractères autorisés sont : [a-z][A-Z][0-9] et '_'. Toutes les variables définies sont globales, même si définies dans une section ou une fonction. Pour rendre cela clair, les variables définies dans une section ou une fonction doivent utiliser le paramètre /GLOBAL. Le paramètre /GLOBAL n'est pas requis hors des sections et fonctions. Var exemple Function testVar Var /GLOBAL exemple2 StrCpy $exemple "valeur exemple" StrCpy $exemple2 "une autre valeur exemple" FunctionEnd 4.2.2 Autres variables disponibles$0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $R0, $R1, $R2, $R3, $R4, $R5, $R6, $R7, $R8, $R9 Les registres. Ces variables peuvent être utilisées comme des variables utilisateur, mais sont généralement utilisées dans les fonctions partagées ou macros. Vous n'avez pas besoin de les déclarer, ainsi, vous n'aurez pas de conflit lorsque vous utiliserez du code partagé. En utilisant ces variables dans du code partagé, il est recommandé que vous utilisiez la pile pour enregistrer et restaurer leurs valeurs originales. Ces variables peuvent aussi être utilisées pour la communication avec les plug-ins, car elles peuvent être lues et écrites par les plug-ins. $INSTDIR Le répertoire d'installation ($INSTDIR est modifiable en utilisant StrCpy, ReadRegStr, ReadINIStr, etc. - Cela peut être utilisé, par exemple, dans la fonction .onInit pour faire une détection avancée de l'emplacement de l'installation). Notez que dans le code de désinstallation, $INSTDIR contient le répertoire où se trouve le désinstalleur. Il ne contient PAS nécessairement la même valeur que l'installateur. Par exemple, Si vous écrivez le désinstallateur dans $WINDIR et que l'utilisateur ne le déplace pas, $INSTDIR sera $WINDIR dans le désinstallateur. Si vous écrivez le désinstallateur dans un autre emplacement, vous devriez garder le $INSTDIR d'installation dans le registre ou un stockage alternatif et le lire dans le désinstallateur. $OUTDIR Le répertoire de destination courant (défini implicitement via SetOutPath ou explicitement via StrCpy, ReadRegStr, ReadINIStr, etc) $CMDLINE La ligne de commande de l'installation. Le format de la ligne de commande peut être:
$LANGUAGE L'identifiant de la langue en cours d'utilisation. Par exemple, Français est 1036. Vous ne pouvez modifier cette variable que dans .onInit. 4.2.3 Variables constantesLes variables constantes peuvent aussi être utilisée dans le paramètre de InstallDir. Notez que certaines nouvelles constantes ne fonctionneront pas sur tous les systèmes. Par exemple, $CDBURN_AREA ne fonctionnera que sous Windows XP et supérieur. Si elle est utilisée sous Windows 98, elle sera vide. A moins d'être indiqué, une constante doit être disponible sous tous les systèmes. $PROGRAMFILES, $PROGRAMFILES32, $PROGRAMFILES64 Le répertoire program files (habituellement $COMMONFILES, $COMMONFILES32, $COMMONFILES64 Le répertoire des fichiers communs. Il s'agit d'un répertoire pour les composants partagés entre les applications (habituellement $DESKTOP Le répertoire du Bureau de Windows (habituellement $EXEDIR Le répertoire contenant l'exécutable de l'installation. (peut être techniquement modifié, mais n'est peut être pas non plus une bonne idée) $EXEFILE Le nom de base de l'exécutable de l'installateur. $EXEPATH Le chemin complet de l'exécutable de l'installation. ${NSISDIR} Symbole contenant le répertoire d'installation de NSIS. Utile si vous voulez utiliser des ressources présentes dans le répertoire de NSIS e.x. Icônes, interfaces graphiques etc. Quand compilé avec le support pour garder makensis et les données dans le même emplacement (le défaut sous Windows), c'est au même emplacement que makensis, sur les autres plateformes c'est défini au moment de la compilation (Voir le fichier INSTALL pour des infos). Dans les deux instances vous pouvez le modifier au lancement en définissant la variable d'environnement NSISDIR. Voir section 3.1.3 pour plus d'infos. $WINDIR Le répertoire Windows (habituellement C:\windows voir C:\winnt mais détecté dynamiquement) $SYSDIR Le répertoire système de Windows (habituellement C:\windows\system ou C:\winnt\system32 mais détecté dynamiquement) $TEMP Le répertoire temporaire système (habituellement C:\windows\temp mais détecté dynamiquement) $STARTMENU Le dossier du Menu Démarrer (utile pour l'ajout d'éléments en utilisant CreateShortCut). Le contexte de cette variable (Tous les Utilisateurs ou Utilisateur Courant) dépend du paramétrage SetShellVarContext. Par défaut, il s'agit de l'utilisateur courant. $SMPROGRAMS Le dossier Programmes du Menu Démarrer (à utiliser, même si vous voulez $STARTMENU\Programmes). Le contexte de cette variable (Tous les Utilisateurs ou Utilisateur Courant) dépend du paramétrage SetShellVarContext. Par défaut, il s'agit de l'utilisateur courant. $SMSTARTUP Le dossier Programmes > Démarrage du Menu Démarrer. Le contexte de cette variable (Tous les Utilisateurs ou Utilisateur Courant) dépend du paramétrage SetShellVarContext. Par défaut, il s'agit de l'utilisateur courant. $QUICKLAUNCH La barre de lancement rapide, pour l'Active Desktop de IE4 et supérieur. Si cette barre n'est pas disponible, retourne $TEMP. $DOCUMENTS Le répertoire Mes Documents. Un chemin typique pour l'utilisateur courant est C:\Documents and Settings\Moi\Mes Documents. Le contexte de cette variable (Tous les Utilisateurs ou Utilisateur Courant) dépend du paramétrage SetShellVarContext. Par défaut, il s'agit de l'utilisateur courant. Cette constante n'est pas disponible sous Windows 95 sans Internet Explorer 4 d'installé. $SENDTO Le répertoire contenant les raccourcis du menu Envoyer vers. $RECENT Le répertoire contenant les raccourcis vers les documents récemment utilisés par l'utilisateur. $FAVORITES Le répertoire contenant les raccourcis des documents, sites web favoris (...) de l'utilisateur. Le contexte de cette variable (Tous les Utilisateurs ou Utilisateur Courant) dépend du paramétrage SetShellVarContext. Par défaut, il s'agit de l'utilisateur courant. Cette constante n'est pas disponible sous Windows 95 sans Internet Explorer 4 d'installé. $MUSIC Le répertoire des fichiers musicaux de l'utilisateur. Le contexte de cette variable (Tous les Utilisateurs ou Utilisateur Courant) dépend du paramétrage SetShellVarContext. Par défaut, il s'agit de l'utilisateur courant. Cette constante est disponible sous Windows XP, ME et supérieur. $PICTURES Le répertoire des images de l'utilisateur. Le contexte de cette variable (Tous les Utilisateurs ou Utilisateur Courant) dépend du paramétrage SetShellVarContext. Par défaut, il s'agit de l'utilisateur courant. Cette constante est disponible sous Windows XP, ME et supérieur. $VIDEOS Le répertoire des fichiers vidéo de l'utilisateur. Le contexte de cette variable (Tous les Utilisateurs ou Utilisateur Courant) dépend du paramétrage SetShellVarContext. Par défaut, il s'agit de l'utilisateur courant. Cette constante est disponible sous Windows XP, ME et supérieur. $NETHOOD Ce répertoire contient des objets pouvant exister dans le dossier Voisinage Réseau. Cette constante n'est pas disponible sous Windows 95 sans Internet Explorer 4 ni Active Desktop d'installé. $FONTS Le répertoire des polices systèmes. $TEMPLATES Le répertoire des modèles de documents. Le contexte de cette variable (Tous les Utilisateurs ou Utilisateur Courant) dépend du paramétrage SetShellVarContext. Par défaut, il s'agit de l'utilisateur courant. $APPDATA Le répertoire des données des applications. La détection du répertoire utilisateur nécessite Internet Explorer 4 ou supérieur. La détection du répertoire de tous les utilisateurs nécessite Internet Explorer 5 et supérieur. Le contexte de cette variable (Tous les Utilisateurs ou Utilisateur Courant) dépend du paramétrage SetShellVarContext. Par défaut, il s'agit de l'utilisateur courant. Cette constante n'est pas disponible sous Windows 95 sans Internet Explorer 4 ni Active Desktop d'installé. $LOCALAPPDATA Le répertoire local (non-persistant) des données d'application. Cette constante est disponible sous Windows 2000 et supérieur. $PRINTHOOD Le répertoire contenant les objets liés pouvant exister dans le répertoire Imprimantes. Cette constante n'est pas disponible sous Windows 95 et Windows 98. $INTERNET_CACHE Le répertoire des fichiers Internet temporaire d'Internet Explorer. Cette constante n'est pas disponible sous Windows 95 et Windows NT sans Internet Explorer 4 ni Active Desktop d'installé. $COOKIES Le répertoire des cookies d'Internet Explorer. Cette constante n'est pas disponible sous Windows 95 et Windows NT sans Internet Explorer 4 ni Active Desktop d'installé. $HISTORY Le répertoire de l'historique d'Internet Explorer. Cette constante n'est pas disponible sous Windows 95 et Windows NT sans Internet Explorer 4 ni Active Desktop d'installé. $PROFILE Le répertoire du profil de l'utilisateur. Un chemin typique serait C:\Documents and Settings\Moi. Cette constante n'est disponible que sous Windows 2000 et supérieur. $ADMINTOOLS Un répertoire ou les outils administratifs sont stockés. Le contexte de cette variable (Tous les Utilisateurs ou Utilisateur Courant) dépend du paramétrage SetShellVarContext. Par défaut, il s'agit de l'utilisateur courant. Cette constante est disponible sous Windows 2000, ME et supérieur. $RESOURCES Le répertoire des ressources où sont stockés les thèmes et autres ressources de Windows (habituellement C:\Windows\Resources mais détecté dynamiquement). Cette constante n'est disponible que sous Windows XP et supérieur. $RESOURCES_LOCALIZED Le répertoire des ressources localisées où sont stockés les thèmes et autres ressources Windows (habituellement C:\Windows\Resources\1033 mais détecté dynamiquement). Cette constante n'est disponible que sous Windows XP et supérieur. $CDBURN_AREA Un répertoire où les fichiers en attente d'être gravés sur CD sont stockés. Cette constante n'est disponible que sous Windows XP et supérieur. $HWNDPARENT La valeur décimale HWND de la fenêtre parente. $PLUGINSDIR Le répertoire temporaire créé lors de la première utilisation d'un plug-in ou bien lors de l'appel dInitPluginsDir (voir section 4.8.6.1). Ce répertoire est automatiquement supprimé lorsque l'installation se termine. Cela en fait un dossier idéal pour vos fichiers INI pour InstallOptions, pour les images du plug-in splash, or ou pour tout autre fichier qu'un plug-in peut avoir besoin. 4.2.4 Variables utilisées dans les chaînes de caractères$$ Utilisé pour représenter $. $\r Utilisé pour représenter un retour chariot (\r). $\n Utilisé pour représenter une nouvelle ligne (\n). $\t Utilisé pour représenter une tabulation (\t). ${SYMBOL} Ou SYMBOL est le nom de quelque chose défini globalement, et qui sera remplacé par la valeur de ce symbole. L'ordre d'appel des symboles est important. Name "Programme de test ${VERSION}"
!define VERSION "V.1.0"
Ce code va définir le nom de l'installation comme "Programme de test ${VERSION}". La même chose se produit si le symbole n'a pas été défini. !define VERSION "V.1.0"
Name "Programme de test ${VERSION}"
Ce code défini bien le nom de l'installation en "Programme de test V.1.0" Pour plus d'informations, voir la Compilation conditionnelle. Précédent | Sommaire | Suivant |
||
|