以编程方式检查我的系统上是否安装了Java 7(jre7)或更高版本

时间:2016-08-01 14:59:20

标签: c#

我想检查我的机器上是否安装了Java 7或更高版本的java。我使用下面的代码来找到这个:

    /// <summary>
    /// Get the file path of the installed java run time.
    /// </summary>
    /// <returns>full path of java run time.</returns>
    private static string GetJavaPath()
    {
        RegistryKey javaRuntime = Registry.LocalMachine.OpenSubKey("SOFTWARE\\JavaSoft\\Java Runtime Environment");
        string currentVerion = javaRuntime.GetValue("CurrentVersion").ToString();
        string javaSubVersion = (javaRuntime.OpenSubKey(currentVerion)).GetValue("JavaHome").ToString();
        string filePath = Path.Combine(javaSubVersion, @"bin\javaw.exe");
        return filePath;
    }

我需要系统上的所有javaw.exe(java版本)。 请仔细研究。

1 个答案:

答案 0 :(得分:0)

如果我理解得很清楚,HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment会为您提供当前版本,但其他jre版本也可以在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment下检索。

请注意,查找JDK可能也值得(因为它们嵌入了JRE,并且不一定在上面的键下引用)。您可以在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development KitHKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit找到它们。