Как и во множестве иных компонентов, входящих в состав операционных систем Microsoft, вопрос о исчерпывающей информативности возникающих ошибок Центра обновления Windows, тем более рекомендаций по их устранению, никогда всерьез разработчиками не рассматривался Традиционно было решено ввести огроменный перечень числовых статусов (для того, чтобы хотя бы отдаленно понимать о чем идет речь) и завести специализированные танцесбубновые форумы поддержки (как например, незабвенный TechNet), на которых зачастую предлагаются довольно-таки абстрактные рекомендации. Все это, конечно же, сарказм, тем более что для человека думающего, подобные приведенному выше ресурсу является превосходной отправной точкой, задающей верное направление движения. Ну а в данном материале мы попытаемся каталогизировать ошибки Центра обновления Windows.
Тем не менее, в каждой шутке есть только доля шутки. Понятное дело, что в представлении любого нормального человека (а не наглухо отбитого виндового гика), голых идентификаторов для понимая природы происходящего часто недостаточно, требуется как минимум символическое имя. Символическое имя присутствует, но и оно в большинстве случаев, не дает понимания проблемы и не подразумевает каких-либо рекомендаций. Ко всему этому добавляются факторы взаимного влияния различных компонентов системы друг на друга, при которых, к примеру, причиной недоступности файла обновления может быть некорректная работы файловой системы. В итоге, для некоторых ошибок уже наработаны общие рекомендации по устранению, для других же имеются какие-то абстрактные предположения, в силу чего все форумы забиты сообщениями с указанием кодов возврата и вопросов: «Кто виноват?» и «Что делать?». Одним словом, все это привело к тому, что и я тоже, по примеру немногих, решил составить такой своеобразный каталог ошибок центра обновления Windows, который будет всегда под рукой. Правда из него так же ничего не понятно Но для меня лично непонятного меньше чем в сторонних источниках. Остановимся на следующих утверждениях:
- Надо понимать, что многие коды возврата, описанные в представленной ниже таблице, являются общими и их возникновение характерно для множества продуктов Microsoft (включая и Центр обновления Windows). Иными словами, неверно было бы считать все приведенные ошибки возникающими исключительно в компонентах Windows Update, тем не менее представлены и те, которые персонализированы исключительно для исполняемого кода группы компонентов Центра обновления Windows. Поэтому давайте условимся считать все приведенные в таблице ошибки возникающими исключительно в контексте исполнения процессов Центра обновления Windows, и не надо искать тут волшебное лекарство от всех проблем операционной системы!!
- У некоторых может возникнуть ложное ощущение, что найдя код ошибки в таблице вы тут же найдете однозначное решение своей проблемы. Для некоторых ошибок это действительно так, однако в большинстве случаев ошибку надо рассматривать во взаимосвязи с другими ошибками, возникающими совместно с искомой (отображаются в логах в непосредственной близости или в одной сессии). Это банально позволит уйти от незначащих ошибок и найти основную, решение которой и изменит ситуацию.
Тип результата
Во всех модулях, относящихся к механизму компонентной модели, ошибки Центра обновления Windows возвращаются в виде числовых идентификаторов, имеющих тип HRESULT (DWORD, 32-битовое целое).
В модели COM была предложена рекомендация, чтобы все функции на выходе, экспортируемые сервером и клиентом, возвращали результат работы типа HRESULT, по которому можно судить о результате выполнения функции (успех/неудача). Старший бит значения специфицирует успешное/ошибочное (0/1) завершении работы функции, следующие далее 15 битов содержат тип ошибки и обеспечивают способ группировки однотипных кодов завершения, младшие (правые) 16 битов предоставляют специфическую информацию о происшедшем. В модели-преемнице DCOM использование HRESULT уже было выдвинуто в виде обязательного требования. Возвращаемые символические значения в интерфейсе Win32 предваряются префиксом в случае нормального завершения и префиксом в случае ошибки. Вот так, к примеру, выглядят некоторые типовые константы:
Те ошибки, которые вы обычно наблюдаете в различных модулях операционной системы Windows, имеют в точности такие обозначения, соответственно, и ошибки Центра обновления Windows тоже классифицируются одинаково.
Методы использования
Таблица будет являться хабом, то есть диспетчером по поиску ошибок обновления. Соответственно, для пользования им можно предложить следующий алгоритм:
- Лицезреть ошибки Центра обновления Windows можно либо непосредственно в интерфейсе системы, либо по записям об ошибках в файлах %SystemRoot%\WindowsUpdate.log и %Windir%\Logs\CBS\CBS.log, а так же событий в системном Журнале Событий.
- Из информации в записях или интерфейсных окнах получаете шестнадцатеричное (либо десятичное) представление ошибки.
- В нижеприведенной таблице находите номер ошибки и смотрите алгоритм устранения в столбце Решение, если это ссылка, то щелкаете и переходите на статью с непосредственными рекомендациями по устранению.
Некоторые ошибки, возможно, никогда и не возникают в процессе работы Центра обновления Windows, а представляют собой информационные статусы/структуры, содержащие выводимые на экран статусные и информационные сообщения.