如何检查Windows上是否安装了Java?

如何检查Windows上是否安装了Java?,java,delphi,delphi-xe2,Java,Delphi,Delphi Xe2,如何检查Windows系统上是否安装了Java?访问Official网站并单击“测试当前安装的Java版本”您可以从注册表中读取此信息。查看此键: HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment 并读取名为的字符串值: CurrentVersion 此设置位于注册表的32位视图中,因此,如果生成64位代码,请确保包含该标志。一些可能有用的信息: 只需将Java运行时环境(JRE)复制到计算机上即可安装(不需要Win

如何检查Windows系统上是否安装了Java?

访问Official网站并单击“测试当前安装的Java版本”

您可以从注册表中读取此信息。查看此键:

HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
并读取名为的字符串值:

CurrentVersion

此设置位于注册表的32位视图中,因此,如果生成64位代码,请确保包含该标志。

一些可能有用的信息:

  • 只需将Java运行时环境(JRE)复制到计算机上即可安装(不需要Windows系统条目)
  • 计算机上可以同时有许多不同的JRE版本(许多商业应用程序与它们自己的JRE捆绑在一起)
  • 您的Delphi应用程序可以检查系统路径中是否有java.exe(从而避免扫描所有文件夹)
  • JAVA_HOME环境变量通常表示JAVA开发工具包(JDK)的位置,但在典型安装中,JDK目录还包含一个JRE文件夹

对于我的Inno设置,我检查此键:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\javaw.exe

如果我删除JAVA,密钥就不存在了。

Fail是一个非常强大的对抗性问题。我猜你不是那个意思。但是,如果问题明确表示您希望以编程方式进行测试,而不仅仅是对问题进行标记,那会更好一些。@David:我确实同意您的观点,但也有人可能会认为OP希望采用编程方式,因为如果不是这样,OP可能会在错误的论坛上发布他的问题(所以不是苏)。[不说这是不寻常的,尽管…]@AndreasRejbrand-但是这个答案也可以在Delphi中实现,尽管这是一种非常奇特的方法。但是对于Java来说,唯一完整的解决方案是扫描整个磁盘并检查找到的Java版本。请参阅这个答案,并提供详细的注册表项信息:@mjn问题是注册表只是一个缓存。如果您注册表中的nd Java-您仍然需要检查它,如果它确实存在于磁盘上并且足够现代。如果您在注册表中没有找到Java,这仍然意味着什么:它可以作为Lotus Notes或Oracle Office的一部分存在于磁盘上,只是在注册表中没有创建快捷方式。对于“尝试运行一些Java”注册表检查后进行java测试通常是不够的。但该测试不可靠。@Arioch'注册表项只有在可以验证的情况下才有用(给定的路径实际上包含一个JRE),此答案链接仅用于此附加信息,因为我试图在下面的答案中列出其他可能的情况。为什么投票失败?这是公正的还是严重的?一个类似的键可以是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Path--我不知道IBM J9是否在这些键中注册