title: is $PROGRAMFILES a constant declared in NSIS or is it the environment variable read from Windows?
body: <p>I'm a newbie to NSIS and was wondering how $PROGRAMFILES gets the value. I know:</p>
  
  <p><em><strong>In a 32-bit windows,</em></strong></p>
  
  <p><strong>$PROGRAMFILES:</strong> represents C:\Program Files </p>
  
  <p>and </p>
  
  <p><em><strong>In 64-bit windows,</em></strong></p>
  
  <p><strong>$PROGRAMFILES, $PROGRAMFILES32:</strong> represents C:\Program Files (x86)</p>
  
  <p>where as, <strong>$PROGRAMFILES64:</strong> represents C:\Program Files</p>
  
  <p>My question is, are these the constants set in NSIS or these are values read from Windows environment variable?? </p>
  
  <p>Thanks in advance. </p>