Ich programmiere Windows-Anwendungen mit Java und das erstellt eine ".jar" -Datei, keine ".exe" -Datei. Wenn ein Client-Computer ohne Java-Laufzeitumgebung die Datei ".jar" öffnet, wird sie als Archiv mit winrar ausgeführt. Alles, was ich wissen möchte, ist, wie man erkennt, ob Java Runtime installiert ist oder nicht auf einem Computer mit c # -Code, um eine MessageBox zu zeigen, die Benutzer Java Runtime zu installieren, oder startet die ".jar" -Datei mit der Java-Laufzeit, wenn es installiert ist .
Sie könnten in der Registrierung einchecken. Dies wird Ihnen sagen, wenn Sie eine JRE haben, und welche Version .
Aus diesem Dokument :
%Vor%wo die Major-, Minor- und Patch-Versionsnummern enthalten sind; z. B. 1.4.2_06
Starten Sie 'java -version' in einem Childprocess. Überprüfen Sie den Exitcode und die zurückgegebene Ausgabe für versioninfo
%Vor%Ein kleines Applet in einer HTML-Seite, das eine Weiterleitung zu einer "Bitte Java installieren" -Seite abbricht.
EDIT: Das ist fast der einzige wirklich kugelsichere Weg. Jeder Registrierungsschlüssel, der JavaSoft enthält, ist höchstwahrscheinlich nur für die Sun JVM und nicht für andere (wie IBM oder BEA).