GetVersion Funktion ab Windows 8.1 deprecated

Gestern habe ich das Upgrade auf Windows 8.1 über den Microsoft Store installiert.

Etwas erstaunt war ich, als ich gesehen habe, das zwar die korrekte Windows-Versionsnummer 6.3 in der Eingabeaufforderung beim „ver“ Kommando angezeigt wird, aber meiner .Net Anwendungen immer noch die Windows 8 Versionsnummer 6.2 ausgegeben haben.

Tante Google hat mich aufklären können: laut dem Artikel http://msdn.microsoft.com/en-us/library/windows/desktop/dn302074%28v=vs.85%29.aspx sind die Funktionen GetVersion() und GetVersionEx() zum Ermitteln der Windows-Version ab Windows 8 deprecated.

Workaround: entweder gibt man im Anwendungsmanifest wie im Artikel beschrieben an, dass Windows 8.1 das Anwendungs-Target ist, oder man liest die Versionsnummer einfach aus der Registry (Schlüssel SOFTWARE\Microsoft\Windows NT\CurrentVersion, Wert „CurrentVersion„).