private string javaAutoDetect()
{
RegistryKey pregkey;
string findJavaPath = string.Empty;
pregkey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\JavaSoft\\Java Runtime Environment", false);
if (pregkey == null)
{
return findJavaPath;
}
else
{
string javaVersion = pregkey.GetValue("CurrentVersion", "0").ToString();
pregkey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\JavaSoft\\Java Runtime Environment\\" + javaVersion, false);
if (pregkey == null)
{
return findJavaPath;
}
else
{
string javaPath = pregkey.GetValue("JavaHome", "0").ToString();
string javaw = javaPath + "\\" + "bin\\javaw.exe";
if (javaw.Contains(" (x86)"))
{
string java64w = javaw.Replace(" (x86)", "");
if (File.Exists(java64w))
{
findJavaPath = java64w;
}
else
if (File.Exists(javaw))
{
findJavaPath = javaw;
}
else
{
findJavaPath = string.Empty;
}
}
else
{
if (File.Exists(javaw))
{
findJavaPath = javaw;
}
else
{
findJavaPath = string.Empty;
}
}
}
}
pregkey.Close();
return findJavaPath;
}