I’m a newbie to NSIS and was wondering how $PROGRAMFILES gets the value. I know:
In a 32-bit windows,
$PROGRAMFILES: represents C:\Program Files
and
In 64-bit windows,
$PROGRAMFILES, $PROGRAMFILES32: represents C:\Program Files (x86)
where as, $PROGRAMFILES64: represents C:\Program Files
My question is, are these the constants set in NSIS or these are values read from Windows environment variable??
Thanks in advance.
They are read from the registry (The other shell constants come from SHGetSpecialFolderLocation but the programfiles csidl is buggy IIRC)