Используя reg [.exe], вы можете запросить возможных кандидатов в JRE, установленных в системе. Их может не быть или может быть несколько.
В тестовом режиме, работающем внутри командной оболочки:
reg query "HKLM\Software\JavaSoft\Java Runtime Environment"
Я получаю три строки результата, первая из которых
CurrentVersion REG_SZ 1.6
Исходя из этого, запрос
reg query "HKLM\Software\JavaSoft\Java Runtime Environment\1.6\"
дает мне JavaHome REG_SZ C:\Program Files\Java\jre6
Это гораздо эффективнее, чем сканирование файловой системы, чтобы найти двоичный файл Java.
Это было проверено при виртуальной установке 32-битной Windows XP.