Finding all is harder, on Windows the install locations of the JRE's are stored in the registry but with the Preference API from Java you only have limited access to the registry. You could look at the source of the Preference API and try to create one that has full access or else look for an existing one on the web. How to find the JRE's on other OSes (like Solaris, Mac OS and Linux) I don't know but maybe there are others who knows it.