Ключ реестра для установки обновлений и исправлений информации в Windows 7 - PullRequest
1 голос
/ 16 ноября 2009

Я работаю над поддержкой Windows 7. В моем приложении я хочу собрать установленные обновления и патчи. В настоящее время я собираю это от WIn32_QuickFixEngineering. Но это не дает информацию для InstalledSDate, Description.

Мне нужно получить это либо из реестра, либо через API (приложение C ++). В других операционных системах, таких как XP, ключи реестра 2k3:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates

Но их нет в Windows 7.

Может ли кто-нибудь задуматься над этим ..

Ответы [ 4 ]

2 голосов
/ 05 декабря 2009

Я также пытался выяснить, куда переместился раздел реестра для «Исправления».

Я настраиваю сервер символов отладки в Windows 7. В то время как я следовал инструкциям из книги Отладка приложений для Microsoft ... Windows (от Джона Роббинса) , я получал ошибку «Невозможно перечислить «горячее исправление» из фрагмента кода VBScript, который рекомендует мистер Роббинс.

Я понял, что код vbs ищет reg reg SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ HotFix, которого нет в Windows 7.

При поиске заменяющего ключа (или любой другой альтернативы) я нашел здесь некоторую полезную информацию: http://forums.cnet.com/5208-12546_102-0.html?threadID=327588

Команда, показанная на этом форуме cnet, была подходящей заменой в моем случае:

wmic qfe list full

отображается в командной строке cmd.exe:

C:\Users\All Users>wmic qfe list full
1 голос
/ 18 декабря 2013

попробуйте поискать здесь:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages]
1 голос
/ 02 апреля 2012

Не уверен, что это ваша проблема: свойства InstallOn для QFE иногда хранятся как шестнадцатеричные 64-битные метки времени Чтобы использовать это как дату: Сначала проверьте, является ли это шестнадцатеричное значение. Если нет, то, скорее всего, это обычное значение даты. Затем (в C #) используйте это, чтобы преобразовать его в DateTime: DateTime.FromFileTimeUtc( Int64.Parse(<InstallOn>, System.Globalization.NumberStyles.AllowHexSpecifier));

1 голос
/ 17 ноября 2009
...