title: programmatically determine Oracle Home installed version?
body: <p>I need to determine from a program what version of Oracle is installed in each of the Oracle Homes on a server.  As there may not be any databases created in the Home yet, I need to be able to do this outside of the database (i.e., without connecting to the database).  Also, it would be highly preferable to be able to do this from a remote program.</p>
  
  <p>This is from a windows program running .Net (C#, if that matters).</p>
  
  <p>I am currently reading remote registry keys (using this technique: <a href="https://stackoverflow.com/questions/1566547/how-to-read-remote-registry-keys">How to Read Remote Registry Keys?</a>), to find all of the Oracle Homes according to <a href="https://community.oracle.com/thread/351127?start=0&amp;tstart=0" rel="nofollow noreferrer">this method</a>.  This works fine, however, I have looked around those keys and do not see any information on the exact version/release.</p>
  
  <p>The name of an Oracle Home itself is of course 1) not a reliable indicator and 2) does not have the exact version/release (for instance "10.2.0.4.0").  Basically I am looking for a way to figure out what the Oracle Universal Installer tells you in the Installed Products button.</p>