title: How do get the path of Program Files regardless of the architecture of the target machine
body: <p>I'm programming in C#/.NET. I want to be able to return the Program Files directory from the target machine no matter what the architecture of the target machine is. To clarify, I want it to return <code>C (or whatever drive the OS is on):/Program Files</code> no matter what bitness their version of Windows is.</p>
  
  <p>I could just hardcode in the directory except if the user was running Windows that's not installed on the C: drive it wouldn't work.</p>
  
  <p>I found</p>
  
  <pre><code>FileInfo(System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles) 
  </code></pre>
  
  <p>but I think it returns the <code>Program Files (x86)</code> folder on a 64 bit windows machine.</p>