in Bootstrap/Bootstrap.cs [197:243]
private static string FindJava(string java)
{
// See if "java" is already in path and working.
if (java == null)
{
java = "java";
}
Process proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = java,
Arguments = "-version",
UseShellExecute = false
}
};
try
{
proc.Start();
proc.WaitForExit();
return java;
}
catch (Exception ex)
{
}
//TODO find away to read from registery on different OSs
// Failing that, look in the registry.
//bool hasRegistry = RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
//foreach (var view in new [] { RegistryView.Registry64, RegistryView.Registry32 })
//{
// var localKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, view);
// var javaRootKey = localKey.OpenSubKey(@"SOFTWARE\JavaSoft\Java Runtime Environment");
// foreach (var jreKeyName in javaRootKey.GetSubKeyNames())
// {
// var jreKey = javaRootKey.OpenSubKey(jreKeyName);
// var javaHome = jreKey.GetValue("JavaHome") as string;
// var javaExe = Path.Combine(javaHome, "bin", "java.exe");
// if (File.Exists(javaExe))
// {
// return javaExe;
// }
// }
//}
return null;
}