Список установленных обновлений в Windows 7 C # - PullRequest
0 голосов
/ 09 марта 2010

С помощью Microsoft Ultimate Wisdom они изменили расположение обновлений из реестра. Я могу получить обновления с серверов Windows 2003 без проблем. Просто Windows 7 больше не существует:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

У любого тела есть другие способы получить его. Желательно в C # или с использованием WMI?

Боже, храни Microsoft с их мудростью

Ответы [ 2 ]

1 голос
/ 09 марта 2010

Для Windows 7 64-разрядная версия находится в HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Updates

0 голосов
/ 28 июня 2011
private string GetX64Installedsoftware()
{
    string Software = null;
    string SoftwareKey = @"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall";

    Software += "\r\nWINDOWS X64 Software\r\n\r\n\r\n ";
    using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(SoftwareKey))
    {
        if (rk == null)
        {
            return Software;
        }
        foreach (string skName in rk.GetSubKeyNames())
        {
            using (RegistryKey sk = rk.OpenSubKey(skName))
            {
                try
                {
                    if (!(sk.GetValue("DisplayName") == null))
                    {
                        if (sk.GetValue("InstallLocation") == null)
                            Software += sk.GetValue("DisplayName") + " - Install path not known \r\n ";
                        else
                            Software += sk.GetValue("DisplayName") + " - " + sk.GetValue("InstallLocation") + "\r\n ";
                    }
                }
                catch (Exception ex)
                {
                }
            }
        }
    }
    return Software;
}
...