Skip to content

Instantly share code, notes, and snippets.

@GER-NaN
Created August 29, 2014 15:43
Show Gist options
  • Save GER-NaN/76607cd0b6e67f3a736a to your computer and use it in GitHub Desktop.
Save GER-NaN/76607cd0b6e67f3a736a to your computer and use it in GitHub Desktop.
Check .Net Framework updates
//Determine Which .NET Framework Updates Are Installed
public static string DotNetUpdates()
{
String retVal = "";
using (
RegistryKey baseKey =
RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32)
.OpenSubKey(@"SOFTWARE\Microsoft\Updates"))
{
foreach (string baseKeyName in baseKey.GetSubKeyNames())
{
if (baseKeyName.Contains(".NET Framework") || baseKeyName.StartsWith("KB") ||
baseKeyName.Contains(".NETFramework"))
{
using (RegistryKey updateKey = baseKey.OpenSubKey(baseKeyName))
{
var name = (string)updateKey.GetValue("PackageName", "");
retVal += Environment.NewLine + (baseKeyName + " " + name);
foreach (string kbKeyName in updateKey.GetSubKeyNames())
{
using (RegistryKey kbKey = updateKey.OpenSubKey(kbKeyName))
{
name = (string)kbKey.GetValue("PackageName", "");
retVal += Environment.NewLine + (" " + kbKeyName + " " + name);
if (kbKey.SubKeyCount > 0)
{
foreach (string sbKeyName in updateKey.GetSubKeyNames())
{
using (RegistryKey sbSubKey = kbKey.OpenSubKey(sbKeyName))
{
name = (string)sbSubKey.GetValue("PackageName", "");
if (name == "")
name = (string)sbSubKey.GetValue("Description", "");
retVal += Environment.NewLine + (" " + sbKeyName + " " + name);
}
}
}
}
}
}
}
}
}
return retVal;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment