Seite 1 von 1

.net version abfragen

Verfasst: 16 Dez 2011, 09:01
von busabernhardg
Hallo,

ich möchte feststellen ob bzw. welche Versionen von MS .NET installiert sind.
Dazu hätte ich den Registry Zweig HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy abgefragt.
Die Unterschlüssel zeigen an welche Version installiert sind (hier V1.1, 2.0, 4.0)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\AppPatch]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\Standards]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\Upgrades]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\v1.1]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\v2.0]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\v4.0]

Ich hätte die Unterschlüssel abgefragt

Code: Alles auswählen

set $aktversion$ = GetRegistryStringValue ("[hklm\software\microsoft\.netframework\policy\v2.0]")
...
set $aktversion$ = GetRegistryStringValue ("[hklm\software\microsoft\.netframework\policy\v3.0]")
...
Bei der Abfrage von v2.0 ist die Variable leer, bei v3.0 wird ein Fehler ausgegeben, weil der Schlüssel nicht existiert:
[5] [16.12.2011 12:23:47] Set $aktversion$ = GetRegistryStringValue ("[hklm\software\microsoft\.netframework\policy\v2.0]")
[6] [16.12.2011 12:23:47] Registry key [hklm\software\microsoft\.netframework\policy\v2.0] opened
[6] [16.12.2011 12:23:47] Variable "" not found. Code: 2
[6] [16.12.2011 12:23:47] Variable "" not found. Code: 2
[6] [16.12.2011 12:23:47] Key closed
[6] [16.12.2011 12:23:47] The value of the variable "$aktversion$" is now: ""
[5] [16.12.2011 12:23:47]
[5] [16.12.2011 12:23:47] Set $aktversion$ = GetRegistryStringValue ("[hklm\software\microsoft\.netframework\policy\v3.0]")
[6] [16.12.2011 12:23:47] Info: Registry key [hklm\software\microsoft\.netframework\policy\v3.0] could not be opened by RegOpenKeyEx, Errorno 2 "Das System kann die angegebene Datei nicht finden.
"

Wie kann ich nun jedoch den Fehler abfragen oder gibt es überhaupt eine einfachere Methode?
lg
Bernhard

Re: .net version abfragen

Verfasst: 16 Dez 2011, 10:51
von ueluekmen
Hi,

kleiner Tip, ich würde nicht dort auslesen, sondern ich würde den Uninstall-Zweig auslesen.

Schau mal ins swaudit-Paket.

Re: .net version abfragen

Verfasst: 16 Dez 2011, 11:19
von Thomas_H
Moinsens,

schau doch mal in die Wiki, hier besonders Adobe Air. Das kannst Du als Vorlage nehmen, wie Du die Registryschlüssel abfragst. Gleiches findest Du bei Openoffice, auch hier gab es keine Fehlermeldungen bei den Tests. Ich vermute daher einfach mal, dass in Deinem Script irgend eine Zeile fehlt oder die Schleifen nicht gesetzt sind.

[Nachtrag]
ueluekmen hat geschrieben:kleiner Tip, ich würde nicht dort auslesen, sondern ich würde den Uninstall-Zweig auslesen.
...und wieder mal war Erol schneller... ;) Aber stimmt: bei beiden von mir genannten Paketen wird der Uninstall-Zweig ausgelesen.

Gruß

Thomas_H