Недавно я установил новую версию Windows 7 Ultimate x64 на свой ноутбук, и Центр обновления Windows успешно обновил систему до SP1. Однако теперь Центр обновления Windows работает вечно, не найдя никаких обновлений. Он работал почти 24 часа в первый раз, когда я запускал его после установки пакета обновления, но панель поиска просто непрерывно прокручивается без каких-либо обновлений.
Вот то, что я пытался до сих пор.
Первая попытка
Сначала я следовал инструкциям в KB 971058 и загрузил автоматический инструмент "FixIt" WindowsUpdateDiagnostic.diagcab. Я запустил это как администратор и получил это сообщение:
Код ошибки Windows Update error 0x80070005 является ошибкой "Отказано в доступе", согласно этой странице. Странно то, что, если я нажимаю "Просмотр подробной информации", инструмент сообщает, что ошибка была исправлена; см. изображение ниже.
Вторая попытка
Я перезагрузился и снова запустил Центр обновления Windows. После 6 часов безуспешно (панель поиска все еще работает) я отменил его. На всякий случай я запустил средство проверки системных файлов из командной строки с повышенными привилегиями, чтобы проверить, не было ли поврежденных файлов:
sfc /scannow
но там сказано: "Защита ресурсов Windows не обнаружила никаких нарушений целостности", поэтому все выглядит нормально.
Третья попытка
Другая ссылка Microsoft предложила другой инструмент FixIt, поэтому я скачал его («MicrosoftFixit50123.msi»), но это, по-видимому, просто универсальный инструмент Fixit. Я запускаю MSI, и он показывает мне это:
Кнопки ведут к общим ссылкам Microsoft, но ничего особенного для обновления Windows.
Четвертая попытка
После очередной перезагрузки и еще одного часа, пока Windows не завершила поиск обновлений, я решил, что пришло время следовать инструкциям, приведенным в KB 971058. Я открыл командную строку с повышенными правами и выполнил следующие действия:
Остановите службу BITS, службу Центра обновления Windows и службу криптографии.
net stop bits net stop wuauserv net stop appidsvc net stop cryptsvcBITS и appidsvc не работали (может, в этом проблема?) но два других были успешно остановлены.
Удалите файлы qmgr * .dat:
Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"Нет проблем на этом этапе.
Переименуйте резервные копии папки распространения программного обеспечения
Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak Ren %systemroot%\system32\catroot2 catroot2.bakСбросьте службу BITS и службу Центра обновления Windows на дескриптор безопасности по умолчанию.
sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU) sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)Обе эти команды вернули
[SC] SetServiceObjectSecurity SUCCESS.Перейдите в каталог system32 и заново зарегистрируйте файлы BITS и Windows Update.
regsvr32.exe atl.dll regsvr32.exe urlmon.dll regsvr32.exe mshtml.dll * regsvr32.exe shdocvw.dll * regsvr32.exe browseui.dll * regsvr32.exe jscript.dll regsvr32.exe vbscript.dll regsvr32.exe scrrun.dll regsvr32.exe msxml.dll ** regsvr32.exe msxml3.dll regsvr32.exe msxml6.dll regsvr32.exe actxprxy.dll regsvr32.exe softpub.dll regsvr32.exe wintrust.dll regsvr32.exe dssenh.dll regsvr32.exe rsaenh.dll regsvr32.exe gpkcsp.dll ** regsvr32.exe sccbase.dll ** regsvr32.exe slbcsp.dll ** regsvr32.exe cryptdlg.dll regsvr32.exe oleaut32.dll regsvr32.exe ole32.dll regsvr32.exe shell32.dll regsvr32.exe initpki.dll ** regsvr32.exe wuapi.dll regsvr32.exe wuaueng.dll regsvr32.exe wuaueng1.dll ** regsvr32.exe wucltui.dll ** regsvr32.exe wups.dll regsvr32.exe wups2.dll regsvr32.exe wuweb.dll ** regsvr32.exe qmgr.dll * regsvr32.exe qmgrprxy.dll regsvr32.exe wucltux.dll regsvr32.exe muweb.dll ** regsvr32.exe wuwebv.dllКоманды, помеченные одной звездочкой, завершились с ошибкой:
Модуль "module_name.dll" был загружен, но точка входа DllRegisterServer не найдена. Убедитесь, что «module_name.dll» является допустимым файлом DLL или OCX, и повторите попытку.
Команды, помеченные двумя звездочками, завершились с ошибкой:
Модуль "module_name.dll" не удалось загрузить. Убедитесь, что двоичный файл хранится по указанному пути, или отладьте его, чтобы проверить наличие проблем с двоичным или зависимым файлом.DLL файлы. Указанный модуль не может быть найден.
Сброс Winsock
netsh winsock resetЭта команда выводит
Успешно сбросить каталог Winsock. Вы должны перезагрузить компьютер для завершения сброса.
поэтому я перезагрузился. После перезагрузки я выполнил следующую команду в списке:
netsh winhttp reset proxyЗатем я перезапустил все службы, которые были остановлены ранее:
net start bits net start wuauserv net start appidsvc net start cryptsvc
Я перезагрузился снова и запустил Центр обновления Windows. Тот же результат. Я позволил ему работать в течение двух часов, но он продолжал искать обновления, поэтому я разместил здесь.
Я чувствую, что перепробовал все. Диск Windows, который я использовал для установки, является подлинным, и я использовал его, чтобы делать новые установки на этот ноутбук раньше, без подобных ошибок. Что еще я могу попробовать? Прошу прощения за комментарий, но после всего этого я в полном восторге от Центра обновления Windows и почти полностью потерял терпение.
Я также запустил полное сканирование системы на наличие вредоносных программ, используя Microsoft Security Essentials, который ничего не обнаружил, поэтому вряд ли это связано с вредоносными программами.



