Wie kann ich feststellen, welche .NET Framework-Versionen und Service Packs installiert sind?


Answers

Es gibt eine offizielle Microsoft-Antwort zu dieser Frage in dem folgenden Knowledge Base-Artikel:

Artikel-ID: 318785 - Last Review: 7. November 2008 - Version: 20.1 So ermitteln Sie, welche Versionen von .NET Framework installiert sind und ob Service Packs installiert wurden

Leider scheint es nicht zu funktionieren, da die mscorlib.dll-Version im 2.0-Verzeichnis eine 2.0-Version hat und es keine mscorlib.dll-Version in den Verzeichnissen 3.0 oder 3.5 gibt, obwohl 3.5 SP1 installiert ist ... warum würde die offizielle Microsoft-Antwort so falsch informiert werden?

Question

Eine ähnliche Frage wurde hier gestellt , aber spezifisch für .NET 3.5. Insbesondere suche ich folgendes:

  1. Was ist der richtige Weg, um festzustellen, welche .NET Framework-Versionen und Service Packs installiert sind?
  2. Gibt es eine Liste von Registrierungsschlüsseln, die verwendet werden können?
  3. Gibt es Abhängigkeiten zwischen Framework-Versionen?



Zählen Sie die Unterschlüssel von HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP . Jeder Unterschlüssel ist eine .NET- Version. Es sollte den Wert Install=1 haben, wenn es auf dem Computer vorhanden ist, einen SP-Wert, der das Service Pack anzeigt, und einen MSI=1 Wert, wenn es mit einem MSI installiert wurde. (.NET 2.0 unter Windows Vista hat beispielsweise nicht den letzten, da es Teil des Betriebssystems ist.)







Update für .NET 4.5.1

Jetzt, da .NET 4.5.1 verfügbar ist, muss der tatsächliche Wert des Schlüssels mit dem Namen Release in der Registrierung überprüft werden, nicht nur dessen Existenz. Ein Wert von 378758 bedeutet, dass .NET Framework 4.5.1 installiert ist. Wie hier beschrieben, ist dieser Wert jedoch 378675 unter Windows 8.1.




Ich musste herausfinden, welche Version von .NET Framework ich auf meinem Computer hatte, und alles, was ich getan habe, war, zum Kontrollfeld zu gehen und die Option "Programm deinstallieren" auszuwählen. Danach sortierte ich die Programme nach Namen und fand Microsoft .NET Framework 4 Client Profile.




Mit der Signum.Utilities- Bibliothek von SignumFramework (die Sie eigenständig verwenden können) können Sie sie einfach und ohne sich selbst mit der Registrierung zu befassen:

AboutTools.FrameworkVersions().ToConsole();
//Writes in my machine:
//v2.0.50727 SP2
//v3.0 SP2
//v3.5 SP1






In Windows 7 (es sollte auch für Windows 8 funktionieren, aber ich habe es nicht getestet):

Gehe zu einer Eingabeaufforderung

Schritte zum Abrufen einer Eingabeaufforderung:

  1. Klicken Sie auf Startmenü
  2. Geben Sie im Suchfeld "cmd" (ohne Anführungszeichen) ein.
  3. Öffne cmd.exe

Geben Sie in cmd diesen Befehl ein

wmic /namespace:\\root\cimv2 path win32_product where "name like '%%.NET%%'" get version

Dadurch wird die neueste Version von NET Framework installiert.

Man kann Raymond.cc Utilties auch gleich ausprobieren.