レジストリは、インストーラが実行されていると仮定すると、おそらく最も簡単なルートになります。ユーザーが手動で自分の環境を設定している場合、あなたはJAVA_HOME
/PATH
変数を歩くと、ファイルのバージョンを確認するチェックすることができ
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
:インストール済みのバージョンは、下の様々なサブキーで見つけることができます。デモWSHスクリプト:
'file: whereJava.vbs
'usage: cscript /Nologo whereJava.vbs
'find Java 6 from registry
Set objShell = CreateObject("WScript.Shell")
Wscript.Echo objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\" &_
"JavaSoft\Java Runtime Environment\1.6\JavaHome")
'check file version of java.exe
javaHome = objShell.Environment.item("JAVA_HOME")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Wscript.Echo objFSO.GetFileVersion(javaHome & "\bin\java.exe")
GetFileVersionInfoと会社を参照してください。メジャーバージョン番号はJavaバージョンと一致するようです(5,6)。 JVMを起動しなくてもできる有限の量があります。
JREが* *インストールされていない場合は、遅延を参照しています?それがインストールされている場合は、プログラムを実行し、起動遅延を受け入れるつもりはありませんか? – finnw
すぐには分かりません。アプリケーションには多くの機能があり、起動時にすべての前提条件がチェックされます。ユーザーがJavaを必要とするコードパスに到達することさえできない場合もありますが、依然として遅延が発生しています。 ... –