Wie erkennen von Anwesenheit und Lage der JVM auf Windows?

Ich versuche zu erkennen, ob es eine JVM installiert ist und wo es liegt, damit ich laufen kann java.exe.

Alle ich habe es geschafft, zu finden ist HKCU\Software\JavaSoft\Java Runtime Environment\<ver>. Ist es sicher davon ausgehen, dass es installiert ist, in %PROGRAMFILES%\Java\jre<ver>?

Ich versuche in C#, aber ich nehme an, die Antwort ist ziemlich sprachneutral, so dass jede Antwort ist willkommen.

EDIT: Ok, ich Dummerchen, ich fand Wie zu erkennen, ob java runtime installiert ist oder nicht auf einem computer mit c# die wies mich an HKLM\Software\JavaSoft\Java Runtime Environment\CurrentVersion die Werke mit HKLM\Software\JavaSoft\Java Runtime Environment\<ver>\JavaHome. Ich schaffte es, diese zu finden, anstatt unter HKLM\Software\Wow6432Node\JavaSoft\Java Runtime Environment. Gibt es eine Möglichkeit zu erkennen, welche davon, die ich prüfen sollte, ohne zu versuchen, zu schnuppern an der CPU geben?

  • Funktioniert der registry-Eintrag enthalten, alle Versionen von Java, obwohl? Da einige Anwendungen haben ältere Versionen von JRE gebündelt mit Ihnen und können überschreiben die vorherigen registry-Einträge, die eine echte Schmerzen.
  • Es enthält alle Versionen, Seite an Seite mit der CurrentVersion-Schlüssel oben beschrieben, zeigen auf der Standard-JRE
  • Das ist schön zu wissen, danke. Meine Bemerkung steht immer noch, obwohl, Vertrauen Sie nicht auf die aktuelle version blind. 🙂
  • Vertrauen Sie nicht dieser Schlüssel entweder... untersucht, und meine Schlüssel, zeigen Sie auf veraltete client jvm.dll die wurde entfernt, stattdessen der neueren server jvm.dll das ist jetzt mit dem client.
Schreibe einen Kommentar