Support pour Winamp, Windows Media Player, Media Center et VLC.

Modification des variables d'environnement


Tutorial pour apprentis

Prérequis

NSIS permet de modifier les variables d'environnement à l'aide de scripts assez complexes. Seulement, il ne perme la prise en compte instantanée de la modification. Pour cela, vous pouvez utiliser un plugin : SetEnv.

Installation du plugin

Dans l'archive ZIP se trouvent un fichier indispensable, ainsi que les sources du plugin. Ce tutorial n'utilisera que le fichier : setenv.dll(plugin) à copier dans le répertoire Plugins de votre installation NSIS

Lecture d'une variable d'environnement

Pour le moment, NSIS n'intègre en natif qu'une commande pour la lecture de l'environnement de l'utilisateur : ReadEnvStr. Elle s'utilise très simplement :

ReadEnvStr $R0 "VARIABLE_D_ENVIRONNEMENT"

Ajout/Modification d'une variable d'environnement avec le plugin

Pour modifier écrire dans l'environnement, vous n'avez qu'à utiliser la commande suivante :

SetEnv::SetEnvVar "VARIABLE_D_ENVIRONNEMENT" $R0

Ajout/Modification d'une variable d'environnement sans le plugin

Si vous ne voulez pas ajouter de plugin (si les sources doivent être compilables partout, sans ajout de fichiers chez l'utilisateur) vous pouvez utiliser le code suivant qui sera totalement identique à la commande précédente :

System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i(VARIABLE_D_ENVIRONNEMENT, $R0).r0'

Limitation du plugin

Le plugin ne permet QUE l'ajout/modification. Il ne gère pas la suppression de variables d'environnement. Le code suivant devrait cependant faire l'affaire :

System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i(VARIABLE_D_ENVIRONNEMENT, 0).r0'



Une idée de pas à pas ?

Contactez Julien.