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) |
(A/W fix) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 27: | Line 27: | ||
ReadEnvStr $R0 "PATH" | ReadEnvStr $R0 "PATH" | ||
StrCpy $R0 "$R0;C:\MYAPP" | StrCpy $R0 "$R0;C:\MYAPP" | ||
System::Call 'Kernel32:: | System::Call 'Kernel32::SetEnvironmentVariable(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:: | System::Call 'Kernel32::SetEnvironmentVariable(t "PATH", t R0)i.r0' | ||
</highlight-nsis> | </highlight-nsis> | ||
Latest revision as of 22:56, 14 January 2021
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::SetEnvironmentVariable(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::SetEnvironmentVariable(t "PATH", t R0)i.r0'
- La Segunda Manera
ReadEnvStr $R0 "PATH" StrCpy $R0 "$R0;C:\MYAPP" SetEnv::SetEnvVar "PATH" $R0