Что бы было понятно какие у меня проблемы и что я предпринимал для их решения, напишу все очень подробно.
Стоит Windows 7 SP1 x64 Ultimate (Лицензия).
Перестал работать Центр Обновлений Windows.
Произошло из-за того, что Windows стала устанавливать постоянно одни и те же обновления подряд. Отключил Windows Update. Через неделю включил и стал получать следующую картину: при попытке поиска обновлений вылетает: "Код 80073712. Произошла неизвестная ошибка Windows Update".
Попробовал все известное (или почти все):
1. Средство проверки готовности системы к обновлению: System Update Readiness Tool (Windows6.1-KB947821-v34-x64.msu) - установилось нормально, результат никакой.
2. WindowsUpdateAgent 7.4.7600.226 (WindowsUpdateAgent30-x64.exe /wuforce). Результат: "Произошла неисправимая ошибка при установке агента Windows Update".
3. Windows Update Agent version 7.6.7600.256 (По методике с Soft.Oszone.net, т. к. у этой версии нет инсталлятора).
Установка обновлений вручную из *.cab файлов:
WUClient-SelfUpdate-ActiveX~31bf3856ad364e35~amd64~~7.6.7600.256.ca
WUClient-SelfUpdate-Aux-TopLevel~31bf3856ad364e35~amd64~~7.6.7600.256.cab
WUClient-SelfUpdate-Core-TopLevel~31bf3856ad364e35~amd64~~7.6.7600.256.cab
Получаем: "Система будет перезагружена через 10 сек.". После перезагрузки результат никакой.
4. WindowsUpdateAgent 7.6.7600.320 (WindowsUpdateAgent-7.6-x64. exe /wuforce). Результат: "Произошла неисправимая ошибка при установке агента Windows Update". Кстати, на момент сбоя согласно журнала обновлений стояла эта версия.
5. Сбрасывал Центр обновлений (вариант дл 64-битных версий):
net stop bits
net stop wuauserv
net stop cryptsvc
Del "%ALLUSERSPROFILE%\ApplicationData\Microsoft\Network\Downloader\qmgr*.dat"
cd /d %windir%\system32
%windir%\System32\regsvr32.exe %windir%\System32\urlmon.dll
%windir%\System32\regsvr32.exe %windir%\System32\Shdocvw.dll
%windir%\System32\regsvr32.exe %windir%\System32\Actxprxy.dll
%windir%\System32\regsvr32.exe %windir%\System32\Oleaut32.dll
%windir%\System32\regsvr32.exe %windir%\System32\Mshtml.dll
%windir%\System32\regsvr32.exe %windir%\System32\Browseui.dll
%windir%\System32\regsvr32.exe %windir%\System32\Shell32.dll
%windir%\System32\regsvr32.exe %windir%\System32\wuweb.dll
%windir%\System32\regsvr32.exe %windir%\System32\wups2.dll
%windir%\System32\regsvr32.exe %windir%\System32\wups.dll
%windir%\System32\regsvr32.exe %windir%\System32\wucltui.dll
%windir%\System32\regsvr32.exe %windir%\System32\wuaueng1.dll
%windir%\System32\regsvr32.exe %windir%\System32\wuaueng.dll
%windir%\System32\regsvr32.exe %windir%\System32\wuapi.dll
%windir%\System32\regsvr32.exe %windir%\System32\softpub.dll
%windir%\System32\regsvr32.exe %windir%\System32\wintrust.dll
%windir%\System32\regsvr32.exe %windir%\System32\initpki.dll
%windir%\System32\regsvr32.exe %windir%\System32\dssenh.dll
%windir%\System32\regsvr32.exe %windir%\System32\rsaenh.dll
%windir%\System32\regsvr32.exe %windir%\System32\gpkcsp.dll
%windir%\System32\regsvr32.exe %windir%\System32\sccbase.dll
%windir%\System32\regsvr32.exe %windir%\System32\atl.dll
%windir%\System32\regsvr32.exe %windir%\System32\jscript.dll
%windir%\System32\regsvr32.exe %windir%\System32\vbscript.dll
%windir%\System32\regsvr32.exe %windir%\System32\scrrun.dll
%windir%\System32\regsvr32.exe %windir%\System32\msxml.dll
%windir%\System32\regsvr32.exe %windir%\System32\msxml3.dll
%windir%\System32\regsvr32.exe %windir%\System32\msxml6.dll
%windir%\System32\regsvr32.exe %windir%\System32\slbcsp.dll
%windir%\System32\regsvr32.exe %windir%\System32\cryptdlg.dll
%windir%\System32\regsvr32.exe %windir%\System32\ole32.dll
%windir%\System32\regsvr32.exe %windir%\System32\qmgr.dll
%windir%\System32\regsvr32.exe %windir%\System32\qmgrprxy.dll
%windir%\System32\regsvr32.exe %windir%\System32\wucltux.dll
%windir%\System32\regsvr32.exe %windir%\System32\muweb.dll
%windir%\System32\regsvr32.exe %windir%\System32\wuwebv.dll
cd /d %windir%\SysWOW64
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\urlmon.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\Shdocvw.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\Actxprxy.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\Oleaut32.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\Mshtml.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\Browseui.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\Shell32.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\wuweb.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\wups2.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\wups.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\wucltui.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\wuaueng1.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\wuaueng.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\wuapi.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\softpub.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\wintrust.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\initpki.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\dssenh.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\rsaenh.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\gpkcsp.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\sccbase.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\atl.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\jscript.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\vbscript.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\scrrun.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\msxml.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\msxml3.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\msxml6.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\slbcsp.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\cryptdlg.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\ole32.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\qmgr.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\qmgrprxy.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\wucltux.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\muweb.dll
%windir%\SysWOW64\regsvr32.exe %windir%\SysWOW64\wuwebv.dll
ntsh reset winsock
net start wuauserv
net start cryptsvc
net start bits
pause
Результат никакой.
6. Различные Microsoft Fixit то же не помогли (испробовал их порядка 3-х штук различных версий с сайта
http://support2.microsoft.com/fixit/ru для Windows Update).
7. Переустановка Windows через обновление, когда после установки SP1 установлено уже более 150 обновлений, уже не идет, вылетает ошибка. Потому что уже фактически поменялось ядро, а так же поменялось множество других системных файлов. Помог бы Windows 7 SP2, но Майкрософт не делает его.
8. Самое странное, что sfc /scannow пишет, что не нашло нарушений системных файлов. Значит где то тяжелые непоправимые (или неизвестно как поправимые) нарушения реестра.
9. Применил subinacl.exe для восстановления всех разрешений реестра:
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=system=f
pause
Результат никакой.
Windows Installer работает нормально, проверял, проблем нет.
Вообщем перепробовал все или почти все, а результат никакой.
Но, как я уже и писал, вопрос у меня не в этом. Вопрос у меня в следующем:
Список журнала обновлений по адресу: "Панель управления\ Центр обновления Windows\Просмотр журнала обновлений" формируется из файла C:\Windows\SoftwareDistribution\DataStore\DataStore.edb. С этим списком у меня все нормально.
А вот кто подскажет, откуда берется или как формируется список: "Панель управления\Программы и компоненты\Просмотр установленных обновлений" ????????
А этот список у меня стал пустой. Может быть поэтому и при попытке поиска обновлений вылетает: "Код 80073712. Произошла неизвестная ошибка Windows Update". А именно отсюда можно удалить Windows Update Agent, что бы попробовать его переустановить вручную или автоматически!!!!!!!!!!!! Как восстановить этот список??????
Просмотр установленных обновлений через командную строку командой wmic дает результат:
C:\Windows\system32>wmic q
No Instance(s) Available.
Просмотр установки конкретного обновления через командную строку (это обновление есть в журнале обновлений) тоже не дает результата:
C:\Windows\system32>wmic qfe list | find "2889914"
No Instance(s) Available.
Просмотр установленных обновлений через командную строку командой systeminfo дает результат:
C:\Windows\system32>systeminfo
.................................................
Исправление(я): Н/Д
.................................................
Может быть из-за того, что потерян этот список и идут все ошибки Windows Update?????
Где он хранится или как формируется, потому что мне кажется, что Windows формирует его из нескольких источников:
1. В "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" хранится список обновлений, установленных через msiexec.exe (из *.msi или *.exe файлов). Записи присутствуют, но не отображаются в списке "Панель управления\Программы и компоненты\Просмотр установленных обновлений". Наверное этот список формируется не из этого ключа реестра.
2. В "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates" хранится список обновлений фреймворков. Записи присутствуют, но не отображаются в списке "Панель управления\Программы и компоненты\Просмотр установленных обновлений". Наверное этот список формируется не из этого ключа реестра.
3. А где хранится список обычных обновлений, которые устанавливались через wusa.exe (из *.msu и *.cab файлов из папки C:\Windows\SoftwareDistribution\Download)??????
Может где то есть какой то другой ключ реестра, или какой то лог wusa.exe, откуда формируется этот список: "Панель управления\Программы и компоненты\Просмотр установленных обновлений"?????
P.S. У меня есть акронисовский бэкап полугодичной давности. Если бы я знал где и как лежит этот список, или из чего он формируется, я бы мог достать его оттуда и подсунуть Windows. Пусть это не совсем то, но попробовать было бы можно.