2012-04-08 6 views
0

Gibt es eine Möglichkeit, die JVM-Version (32-Bit oder 64-Bit) in C# zu ermitteln? Ich fand den folgenden Beitrag mit einer möglichen Möglichkeit, dies zu tun: http://forums.devshed.com/net-development-87/c-net-check-java-version-562395.html Es schlägt vor, die Zeichenfolge zu analysieren, die von der Java-Version Befehl zurückgegeben wird und nach der Version suchen. Kann man davon ausgehen, dass das Folgende von der 32-Bit-Version stammt?Kann die JVM-Version in C# ermittelt werden?

java version "1.6.0_24" Java (TM) SE Runtime Environment (build 1.6.0_24-b07) Java HotSpot (TM) Client VM (Build 19.1-b02, mixed mode, sharing)

Auf einem Gerät, auf dem eine 64-Bit-JVM ausgeführt wird, wird anstelle der "Client-VM" das 64-Bit-Wort angezeigt.

+1

Persönlich, alle meine .NET-Anwendungen sofort deinstallieren alle JVM auf dem System beim Start gefunden. Also kann ich diese Frage nicht beantworten. ;) –

Antwort

1

Die Methode, die Sie gefunden haben, ist angemessen, aber Sie müssen daran denken, dass ein Benutzer mehrere verschiedene JVM-Versionen installiert haben kann, einschließlich (32-Bit- und 64-Bit-VMs) auf einer 64-Bit-Maschine. Der, der beim Ausführen von Java.exe ausgeführt wird, ist nur der letzte auf dem Pfad.

Wenn Sie 64-Bit in der Zeichenfolge nicht sehen, ist es wahrscheinlich sicher, eine 32-Bit-VM anzunehmen. Die Namenskonvention finden Sie unter http://java.sun.com/j2se/versioning_naming.html.