title: Surest way to detect if an application has been installed on a Windows PC in a VB.NET app?
body: <p>I know the default install path of the app and the name of the .exe file, but is there a way to see if it is actually installed? 
  I've seen suggestions for checking registry entries, but I don't know if this app uses any or if if varies for different users on different pc's.</p>
  
  <p>Many of the registy entries have no default values set. I prefer not to dive too deep and have to rely on a value for the font setting.</p>
  
  <p>I'd like to know if "App_Name" exists. I can't rely on it having a default value because it never does. Since I'm using .GetValueKind, I don't have to worry about "AboutSiteUR" having any value set assuming if it has a type it actually exists. Otherwise, I'm assuming the Try/Catch will trap the IO.IORegistry type error (I'm not sure about that one.).</p>
  
  <pre><code>Dim sDisplay_Reg_Value As String
  Dim Everest_Registry As Microsoft.Win32.RegistryKey = _
          My.Computer.Registry.CurrentUser.OpenSubKey("Software\Company_Name\App_Name")
          Try
              sDisplay_Reg_Value = CType(Everest_Registry.GetValueKind("AboutSiteUR"), String)
  </code></pre>