Расположение ключа реестра для обновления безопасности и исправлений - PullRequest
9 голосов
/ 24 февраля 2011

В моем приложении я хочу запросить обновление безопасности и исправления в окне Windows. Для этого я запросил HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall Все прошло хорошо на ОС, кроме Windows 2008 Server и Windows 7 ...

При запуске appwiz.cpl на сервере Windows 2008 он показывает множество исправлений и обновлений безопасности, но их нет ни для одной из них в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Похоже, что Windows изменила расположение реестра для Windows 2008 Server и Windows 7.

Мне нужно запросить сведения об обновлениях безопасности и исправлениях.

Ответы [ 2 ]

12 голосов
/ 24 февраля 2011

В Windows 7 они представили исправления, которые применяются с использованием MSU-файлов (MSU == Обновление системы Microsoft).

Один из способов - перечислить ключи на HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages, а затем проверить (строку)значение InstallClient для "WindowsUpdateAgent".

Вы, очевидно, можете использовать API агента обновления Windows для чтения его независимо от расположения реестра.

4 голосов
/ 02 апреля 2012

Лучшее расположение, которое я нашел для безопасности и исправлений, примененных к системе, - это список объектов WMI QFE (WMIC QFE GET). Это оказалось точным на всех 6.x и более поздних ОС (Vista, W2008, Win7). W2003 также предоставляет QFE, но записи дублируются в стандартном списке удаления.

...