Die Registrierung ist die offizielle Methode, um festzustellen, ob eine bestimmte Version des Frameworks installiert ist.
Welche Registrierungsschlüssel benötigt werden, hängt von der gesuchten Framework-Version ab:
Registrierungsschlüssel für die Framework-Version
-------------------------------------------------- ----------------------------------------
1.0 HKLM \ Software \ Microsoft \ .NETFramework \ Policy \ v1.0 \ 3705
1.1 HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v1.1.4322 \ Installieren
2.0 HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v2.0.50727 \ Installieren
3.0 HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v3.0 \ Setup \ InstallSuccess
3.5 HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v3.5 \ Installieren
4.0 Client-Profil HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v4 \ Client \ Install
4.0 Vollständiges Profil HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v4 \ Vollständig \ Installieren
Generell suchen Sie:
"Install"=dword:00000001
mit Ausnahme von .NET 1.0, wo der Wert eine Zeichenfolge ( REG_SZ
) und keine Zahl ( REG_DWORD
) ist.
Die Bestimmung des Service Pack-Levels erfolgt nach einem ähnlichen Muster:
Registrierungsschlüssel für die Framework-Version
-------------------------------------------------- ----------------------------------------
1.0 HKLM \ Software \ Microsoft \ Active Setup \ Installierte Komponenten \ {78705f0d-e8db-4b2d-8193-982bdda15ecd} \ Version
1.0 [1] HKLM \ Software \ Microsoft \ Active Setup \ Installierte Komponenten \ {FDC11A6F-17D1-48f9-9EA3-9051954BAA24} \ Version
1.1 HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v1.1.4322 \ SP
2.0 HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v2.0.50727 \ SP
3.0 HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v3.0 \ SP
3.5 HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v3.5 \ SP
4.0 Client-Profil HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v4 \ Client \ Servicing
4.0 Vollständiges Profil HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v4 \ Vollständig \ Wartung
[1] Windows Media Center oder Windows XP Tablet Edition
Wie Sie sehen können, ändert sich das Bestimmen der SP-Stufe für .NET 1.0, wenn Sie unter Windows Media Center oder Windows XP Tablet Edition ausgeführt werden. Auch hier verwendet .NET 1.0 einen Zeichenfolgenwert, während alle anderen ein DWORD verwenden.
Für .NET 1.0 hat der Zeichenfolgenwert an einem dieser Schlüssel das Format #, #, ####, #. Das letzte # ist das Service Pack-Level.
Obwohl ich nicht explizit danach gefragt habe, würden Sie diese Registrierungsschlüssel verwenden, wenn Sie die genaue Versionsnummer des Frameworks wissen möchten:
Registrierungsschlüssel für die Framework-Version
-------------------------------------------------- ----------------------------------------
1.0 HKLM \ Software \ Microsoft \ Active Setup \ Installierte Komponenten \ {78705f0d-e8db-4b2d-8193-982bdda15ecd} \ Version
1.0 [1] HKLM \ Software \ Microsoft \ Active Setup \ Installierte Komponenten \ {FDC11A6F-17D1-48f9-9EA3-9051954BAA24} \ Version
1.1 HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v1.1.4322
2.0 [2] HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v2.0.50727 \ Version
2.0 [3] HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v2.0.50727 \ Increment
3.0 HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v3.0 \ Version
3.5 HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v3.5 \ Version
4.0 Client-Profil HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v4 \ Version
4.0 Vollständiges Profil HKLM \ Software \ Microsoft \ NET Framework-Setup \ NDP \ v4 \ Version
[1] Windows Media Center oder Windows XP Tablet Edition
[2] .NET 2.0 SP1
[3] .NET 2.0 Original Release (RTM)
Auch hier verwendet .NET 1.0 einen Zeichenfolgenwert, während alle anderen ein DWORD verwenden.
Zusätzliche Bemerkungen
Für .NET 1.0 hat der Zeichenfolgenwert an einem dieser Schlüssel das Format #,#,####,#
. Der #,#,####
Teil der Zeichenfolge ist die Framework-Version.
Für .NET 1.1 verwenden wir den Namen des Registrierungsschlüssels selbst, der die Versionsnummer darstellt.
Wenn Sie sich die Abhängigkeiten ansehen, fügt .NET 3.0 .NET 2.0 zusätzliche Funktionen hinzu, sodass sowohl .NET 2.0 als auch .NET 3.0 als installiert ausgewertet werden müssen, um korrekt zu sagen, dass .NET 3.0 installiert ist. Ebenso fügt .NET 3.5 .NET 2.0 und .NET 3.0 zusätzliche Funktionen hinzu. Daher sollten .NET 2.0, .NET 3.0 und .NET 3. als installiert bewertet werden, um korrekt zu sagen, dass .NET 3.5 installiert ist.
.NET 4.0 installiert eine neue Version der CLR (CLR-Version 4.0), die neben CLR 2.0 ausgeführt werden kann.
Update für .NET 4.5
v4.5
Wenn .NET 4.5 installiert ist, ist kein Schlüssel in der Registrierung vorhanden. Stattdessen müssen Sie überprüfen, ob der HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full
Schlüssel einen aufgerufenen Wert enthält Release
. Wenn dieser Wert vorhanden ist, wird .NET 4.5 installiert, andernfalls nicht. Weitere Details finden Sie hier und hier .