首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JRE版本查询

JRE版本查询
EN

Stack Overflow用户
提问于 2013-11-23 18:38:33
回答 1查看 572关注 0票数 0

当我检查通过命令行安装的JRE版本时,使用:

代码语言:javascript
复制
java -version

或通过键中的注册表:

代码语言:javascript
复制
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment and the value CurrentVersion

我得到1.7。

但是,当我使用C#查询注册表值时,如下所示:

代码语言:javascript
复制
string jreVersion = (string) Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment", "CurrentVersion", null);

上面写着1.5。

有人能帮忙吗?

P.S:我使用Windows 2008 R2和.NET 4.0,并正确安装了JRE1.7。

P.S: java -version读到:

代码语言:javascript
复制
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

JavaSoft键包含以下子项:

  1. Java开发工具包
  2. Java插件
  3. Java运行时环境
  4. Java更新
  5. 预飞秒
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-23 21:26:22

您可能会遇到注册表重定向:http://msdn.microsoft.com/en-us/library/windows/desktop/aa384232(v=vs.85).aspx

在您的机器上对以下注册表项进行手动检查:

代码语言:javascript
复制
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment

我敢打赌这个价值有1.5英镑。

在C#中,您可以打开注册表并指定是否要使用64位或32位,使用OpenBaseKey方法并指定RegistryView参数:

代码语言:javascript
复制
RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20166292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档