Skip to content
⌘ NSIS Forum Archive

Modifying Environment variables

3 posts

Pardsbane#

Modifying Environment variables

Hello,

is there an easy way to use NSIS to modify environment variables? I'm trying to write an nsis installer for a software library, and I would like to be able to add a pathname to the PATH, INCLUDE, and LIB environment variables, and have that path removed on uninstall.

One problem I discovered with this is that the WriteRegStr command replaces REG_EXPAND_SZ keys to REG_SZ keys, which messes up the PATH environment variable at the very least.

Is there a solution for either of these two (related) problems?
Gonzotek#
Could you use:

WriteINIStr ini_filename section_name entry_name value
Writes entry_name=value into ini_filename in [section_name]. All of the parameters can contain variables. If the string could not be written to the ini file, the error flag is set.
DeleteINISec ini_filename section_name
Deletes the entire section [section_name] from ini_filename. If the section could not be removed from the ini file, the error flag is set.
DeleteINIStr ini_filename section_name str_name
Deletes the string str_name from section [section_name] from ini_filename. If the string could not be removed from the ini file, the error flag is set.
to write to autoexec.bat and/or config.sys?

It's been awhile since I had to add a path variable, but I remember hand-editing the startup files....

-=Gonzotek=-
Pardsbane#
Don't think so

I don't think you can use INI functions to modify the Autoexec.bat, but even if you could, that doesn't provide the needed string editing functions (search the string for a variable, remove it, etc)