c#想检查是否安装了Java,如果安装了,是哪个版本
我想在C#中检查是否安装了JRE,其次是哪个版本以及它是否符合我的应用程序所需的版本
我目前正在使用以下代码:
RegistryKey rk = Registry.LocalMachine;
RegistryKey subKey = rk.OpenSubKey("SOFTWARE\\JavaSoft\\Java Runtime Environment");
string currentVersion = subKey.GetValue("CurrentVersion").ToString();
string neededVersion = "1.7";
if (currentVersion == neededVersion)
{
//do something
}
else
{
//do something else
}
但这只适用于注册表中包含Java的计算机。否则,您将得到一个系统。NullReferenceException
我不知道该怎么做,有人能帮我吗
这有点困难,因为我想在一个脚本中使用前面提到的两件事
# 1 楼答案
我认为有两种方法可以做到这一点——一种是上面的方法,另一种是按照Luiggi的建议,从C#程序执行cmd命令
我认为您最好像现在这样查询注册表,但要么使用try-catch块,要么检查null,并以某种方式处理失败
然而,如果我弄错了,并且有一些常见的方法用户可以在没有注册表项的情况下使用Java,我会选择System。诊断学。过程系统。诊断学。ProcessStartInfo对象可用于构造流程的所有选项,并在流程启动前传递给流程