title: How are Delphi 'environment variables' such as $(BDS) evaluated?
body: <p>I'm making some tidy installers for our internal libraries (instead of just opening the DPK's and clicking 'install' and getting in a mess later...) and this has caused me to have to understand how to get at various Delphi variables such as <a href="https://stackoverflow.com/questions/6813024/how-to-install-a-delphi-component-package-from-the-command-line">Known Packages</a>, the registry RootDir value etc.</p>
  
  <p>I see that within Delphi there are a number of variables that you can use (within a search path for example) such as $(BDS) etc. When I look into my machine environment variables I dont see these, either in system or current user. </p>
  
  <p>My questions are:</p>
  
  <ol>
  <li>Is Delphi doing something internal to expand $(BDS) etc itself? Or can I use these externally in some way (eg looked up in the registry).</li>
  <li>Why is the notation $(xxxx) within a search path and not %xxxx% as with an envirnment variable?
  Thanks</li>
  </ol>