title: how do I launch another process in XP compatibility mode?
body: <p>Our application requires HASP SRM device driver to be installed in order for ours to install and run.</p>
  
  <p>At this time, only their 5.50 drivers work consistently on all tested platforms (both their 5.75 (official) and 5.86 (beta) drivers crash on about 1 in 3 computers tested).</p>
  
  <p>Hence, their 5.50 drivers are good, anything else currently available is broken, and the 5.50 drivers refuse to load under Vista and Windows 7.  However, if I set the exe's properties to "XP compatibility mode" then their 5.50 driver installs and runs successfully.</p>
  
  <p>I dug around in the registry under Windows 7, and I've found that there is at least one entry made when I ask for compatibility mode:</p>
  
  <pre><code>HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\
      full-path REG_SZ WINXPSP3
  </code></pre>
  
  <p>I should be able to add that key from our installer, before attempting to launch the 5.50 driver installer.</p>
  
  <p>Questions:</p>
  
  <ul>
  <li>Where I can find a more complete discussion of compatibility modes?</li>
  <li>Are the keys/settings different under Vista vs. Windows 7?</li>
  <li>Are the keys/settings different under 32 bit vs. 64 bit?</li>
  <li>Is there a way to directly ask for this when I call CreateProcess()?</li>
  </ul>