如何检测Java运行时是否安装
我使用 Java 编写 Windows 应用程序,这会生成一个“.jar”文件而不是“.exe”文件。当未安装 java 运行时的客户端计算机打开“.jar”文件时,它会以 winrar 的存档形式运行。我想知道的是如何使用 c# 代码检测计算机上是否安装了 java 运行时,以便显示一个消息框,告诉用户安装 java 运行时,或者如果安装了 java 运行时,则使用 java 运行时启动“.jar”文件。
I program windows applications using Java and this builds a ".jar" file not an ".exe" file. When a client computer with no java runtime installed opens the ".jar" file, it runs as an archive with winrar. All I want to know is how to detect whether java runtime is installed or not on a computer using c# code in order to show a MessageBox telling user to install java runtime, or launches the ".jar" file using the java runtime if it's installed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你可以检查一下注册表
You can check the registry
在子进程中启动“java -version”。检查退出代码并返回版本信息的输出
Start 'java -version' in a childprocess. Check exitcode and returned output for versioninfo
你可以去注册表查一下。这将告诉您是否有 JRE,以及哪个版本。
来自本文档 :
其中 包括主要版本号、次要版本号和补丁版本号;例如,1.4.2_06
You could check in the registry. This will tell you if you have a JRE, and which version.
From this document:
where the includes the major, minor and the patch version numbers; e.g., 1.4.2_06
html 页面中的一个小程序,用于取消重定向到“请安装 Java”页面。
编辑:这几乎是唯一真正防弹的方法。任何包含 JavaSoft 的注册表项很可能仅适用于 Sun JVM,而不适用于任何其他(如 IBM 或 BEA)。
A small applet in a html page which cancels a redirect to a "Please install Java" page.
EDIT: This is almost the only really bullet-proof way. Any registry key containing JavaSoft is most likely only for the Sun JVM and not any other (like IBM or BEA).