Setting Environment Variables to Active Installer Process: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
(Bf in System::Call Example: RO -> "$RO", other doesn't work) |
|||
Line 27: | Line 27: | ||
ReadEnvStr $R0 "PATH" | ReadEnvStr $R0 "PATH" | ||
StrCpy $R0 "$R0;C:\MYAPP" | StrCpy $R0 "$R0;C:\MYAPP" | ||
System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("PATH", R0).r0' | System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("PATH", "$R0").r0' | ||
</highlight-nsis> | </highlight-nsis> | ||
Line 64: | Line 64: | ||
ReadEnvStr $R0 "PATH" | ReadEnvStr $R0 "PATH" | ||
StrCpy $R0 "$R0;C:\MYAPP" | StrCpy $R0 "$R0;C:\MYAPP" | ||
System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("PATH", R0).r0' | System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("PATH", "$R0").r0' | ||
</highlight-nsis> | </highlight-nsis> | ||
Revision as of 17:34, 19 October 2010
Author: KiKoLo (talk, contrib) |
English Section
Links
To Download the plugin, take it from the NSIS forum at this link:
Description
This page is related only to how to change variables environment to the Installer Process.
- Related to
- Setting Environment Variables by KiCHiK
There are two ways that i know to change the environment variables
- The First Way
- You can use the system.dll plugin and in the code call to de SetEnvironmentVariable on the windows kernel
- The Second Way
- Use a custom plugin, that do this, and this is that i made. :)
Examples
You must change PATH to %PATH%;C:\MYAPP
- The First Way
ReadEnvStr $R0 "PATH" StrCpy $R0 "$R0;C:\MYAPP" System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("PATH", "$R0").r0'
- The Second Way
ReadEnvStr $R0 "PATH" StrCpy $R0 "$R0;C:\MYAPP" SetEnv::SetEnvVar "PATH" $R0
Spanish Section
Enlaces
Para Descargarse el plugin, cogerlo desde el foro del nsis en estos enlaces:
Descripción
Esta página trata solo de como cambiar variables de entorno del proceso del instalador
- Relacionado (sólo inglés)
- Setting Environment Variables por KiCHiK
Hay dos maneras que yo sepa para cambiar las variables de entorno
- La Primera
- Puedes usar el plugin system.dll y llamar a la función 'call' para llamar a la función del nucleo de Windows (kernel32) 'SetEnvironmentVariable'
- La Segunda
- Usar un plugin personalizado, que haga esto. Y esto es lo que yo he hecho. :)
Ejemplos
Tienes que cambiar PATH a %PATH%;C:\MYAPP
- La Primera Manera
ReadEnvStr $R0 "PATH" StrCpy $R0 "$R0;C:\MYAPP" System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("PATH", "$R0").r0'
- La Segunda Manera
ReadEnvStr $R0 "PATH" StrCpy $R0 "$R0;C:\MYAPP" SetEnv::SetEnvVar "PATH" $R0