Created
March 7, 2018 17:53
-
-
Save JamesPrudente/0c2aa7a025624638f97ad662bf189ce4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using Microsoft.Win32; | |
public class GetDotNetVersion | |
{ | |
public static void Main() | |
{ | |
GetDotNetVersion.Get45PlusFromRegistry(); | |
} | |
private static void Get45PlusFromRegistry() | |
{ | |
const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"; | |
using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey)) | |
{ | |
if (ndpKey != null && ndpKey.GetValue("Release") != null) { | |
Console.WriteLine(".NET Framework Version: " + CheckFor45PlusVersion((int) ndpKey.GetValue("Release"))); | |
} | |
else { | |
Console.WriteLine(".NET Framework Version 4.5 or later is not detected."); | |
} | |
} | |
} | |
// Checking the version using >= will enable forward compatibility. | |
private static string CheckFor45PlusVersion(int releaseKey) | |
{ | |
if (releaseKey >= 461308) | |
return "4.7.1 or later"; | |
if (releaseKey >= 460798) | |
return "4.7"; | |
if (releaseKey >= 394802) | |
return "4.6.2"; | |
if (releaseKey >= 394254) { | |
return "4.6.1"; | |
} | |
if (releaseKey >= 393295) { | |
return "4.6"; | |
} | |
if ((releaseKey >= 379893)) { | |
return "4.5.2"; | |
} | |
if ((releaseKey >= 378675)) { | |
return "4.5.1"; | |
} | |
if ((releaseKey >= 378389)) { | |
return "4.5"; | |
} | |
// This code should never execute. A non-null release key should mean | |
// that 4.5 or later is installed. | |
return "No 4.5 or later version detected"; | |
} | |
} | |
// This example displays output like the following: | |
// .NET Framework Version: 4.6.1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment