インストールされているJVMがあるかどうかを検出しようとしています。そのため、java.exe
を実行できます。Windows上のJVMの存在と場所を検出する方法は?
私が見つけたのはHKCU\Software\JavaSoft\Java Runtime Environment\<ver>
です。 %PROGRAMFILES%\Java\jre<ver>
にインストールされていると想定するのは安全ですか?
私はC#でこれをやろうとしていますが、答えはかなり言語にとらわれないと思いますので、どんな答えでも分かります。
EDIT: [OK]を愚かな私は、私はHKLM\Software\JavaSoft\Java Runtime Environment\<ver>\JavaHome
で動作しますHKLM\Software\JavaSoft\Java Runtime Environment\CurrentVersion
で私に指摘How to detect whether java runtime is installed or not on a computer using c#ました。代わりにHKLM\Software\Wow6432Node\JavaSoft\Java Runtime Environment
の下にこれらを見つけることができました。 CPUの種類を嗅ぐことなくこれらのうちどれをチェックするべきかを検出する方法がありますか? Windowsシステム上の
レジストリエントリにはJavaのすべてのバージョンが含まれていますか?一部のアプリケーションには、古いバージョンのJREがバンドルされているため、以前のレジストリエントリが上書きされる可能性があります。 – biziclop
@biziclopこれは既定のJREを指している上記のCurrentVersionキーですべてのバージョンを並べて表示します –
これはうれしいことです。ありがとうございます。私の発言はまだ立っているが、現在のバージョンを盲目的に信用しないでください。 :) – biziclop