title: How does the setup bootstrapper detect if prerequisites are installed?
body: <p>Trying to solve <a href="https://stackoverflow.com/questions/2591384/bootstrapper-setup-exe-says-net-3-5-not-found-but-launching-msi-directly-in">this problem</a>.</p>
  
  <p>I would like to learn how the bootstrapper detects if prerequisites (specifically .NET 3.5) are installed.</p>
  
  <p>According to <a href="http://msdn.microsoft.com/en-us/library/cc160716.aspx" rel="nofollow noreferrer">this reference</a>, a way to detect if .NET is installed is to check the following registry key:</p>
  
  <p><code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5</code></p>
  
  <p>Using process monitor, I have inspected registry queries done by the bootstrapper (setup.exe) and it did not show any access to this registry key.</p>
  
  <p><b>Does anybody know how the bootstrapper determines whether the prerequisites are installed on the target system?</b></p>