Установщик обнаружил ошибку 0x80073712 хранилище компонентов повреждено

Столкнулся с интересной ошибкой 0x80073712 при установке обновлений в Windows Server 2016. Как выяснилось позже, эта ошибка связана с повреждением хранилища компонентов Windows. В этой статье рассмотрим, как исправить хранилище компонентов в Windows 10 / 8.1 и Windows Server 2016/2012 R2 и восстановить работу Windows Update.

При попытке установить обновления в Центре обновления Windows появляется ошибка:

Некоторый файлы обновления отсутствуют или имеются проблемы. Мы попытаемся скачать обновление позже.

Код ошибки: (0x80073712)

Some update files are missing or have problems. We’ll try to download the update.

Error code: (0x80073712)

Windows 10 / Server 2016 ошибка обновления 0x80073712

В первую очередь я попробовал сбросить состояние службы Windows Update и очистить каталог SoftwareDistribution по рекомендациям из статьи “Сброс настроек Центра обновления Windows”, но это не помогло.

С помощью команды
dism /online /get-packages
я проверил, что все обновления находятся в статусе Installed.

dism /online /get-packages

Если у некоторых обновлений указан Install Pending, вы из можете корректно удалить с помощью команды DISM (используйте ваш Package Identity):


DISM.exe /Online /Remove-Package /PackageName:Package_for_KB4485447~31bf3856ad364e35~amd64~~10.0.1.1 /quiet /norestart

Довольно долго решал, с какой стороны подойди к этой проблеме, но в рамках траблшутинга мне понадобилось установить на Windows Server 2016 компонент .Net Framework 3.5. При установке компонента .Net с помощью DISM появилась характерная ошибка, которая и натолкнула меня на дальнейшие действия:

The request to add or remove features on the specified server failed. Installation of  one or more roles, role services or features failed. The component store has been corrupted. Error: 0x80073712.

Хранилище компонентов повреждено. Ошибка: 0x80073712.

The component store has been corrupted. Error: 0x80073712.

При этом в файле CBS.log можно найти такую строку (%WinDir%LogsCBSCBS.log):

[HRESULT = 0x80073712 - ERROR_SXS_COMPONENT_STORE_CORRUPT]

Как вы видите, по какой-то причине хранилище компонентов вашей системы повреждено, в результате чего Windows Update не может получить данные из манифеста CBS (Component-Based Servicing) необходимые для установки обновлений. Вы можете восстановить хранилище компонентов с помощью встроенного функционала DISM.

В самом простом случае при восстановлении хранилища компонентов вам не потребуется установочный диск с дистрибутивом Windows. В этом случае для восстановления система будет использовать файлы хранилища на локальном диске и сайт Windows Update (локальный WSUS сервер не может быть использован для восстановления компонентов).

В первую очередь проверьте состояние хранилища компонентов с помощью команды:

dism /online /cleanup-image /checkhealth

Если после выполнения анализа появилось сообщение “component store is repairable”, вы можете попытаться восстановить хранилище компонентов командой:

dism /online /cleanup-image /restorehealth

В некоторых случаях это достаточно. Но у меня утилита DISM выдала ошибку:

Error: 0x800f0906
The source files could not be downloaded.

В этом случае для восстановления Windows требуется установочный диск с вашим дистрибутивом Windows. Допустим, вы смонтировали ISO файл с вашим дистрибутивом Windows. Теперь нужно проверить список текущих редакций Windows в файле install.wim в подключенном образе (диске):

dism /Get-WimInfo /WimFile:e:sourcesinstall.wim

dism /Get-WimInfo /WimFile

В моем случае установлена редакция Windows Server 2016 Standard (Desktop Experience), поэтому в следующей команде я использую ее индекс – 2.

dism /online /cleanup-image /restorehealth /source:e:sourcesinstall.wim:2 /LimitAccess

Еще раз проверьте состояние хранилища компонентов:

Dism /Online /Cleanup-Image /CheckHealth

DISM должна вернуть:
Повреждение хранилища компонентов не обнаружено (No component store corruption detected).

Dism /Online /Cleanup-Image /CheckHealth No component store corruption detected

После восстановления хранилища достаточно перезагрузить Windows и проверить, что обновления и компоненты Windows устанавливаются без ошибки.

Перейти к содержимому

Чтобы устранить ошибку «0x80073712. Хранилище компонентов повреждено» необходимо открыть командную строку с правами администратора и выполнить следующие команды:

Проверка хранилища компонентов:

Dism /Online /Cleanup-Image /CheckHealth

Восстановление:

Dism.exe /Online /Cleanup-Image /Restorehealth

Для Powershell команда выглядит следующим образом:

Repair-WindowsImage -Online -RestoreHealth

Можно также восстановить из оригинального установочного диска, для этого необходимо вставить диск и выполнить команды в Powershell:

Repair-WindowsImage -Online -RestoreHealth -Source Е:sourcesinstall.wim:1

где E — буква диска, а цифра 1 номер издания на диске.

После процедур желательно выполнить проверку системных файлов набрав в командной строке:

sfc /SCANNOW

При попытке обновления компонентов системы по разным причинам могут возникать сбои, препятствующие выполнению процедуры. Нередко преградой становится ошибка 0x80073712, сообщающая о проблеме с инсталляцией пакетов, отсутствии или повреждении данных апдейта. Столкнуться с неприятностью можно в разных версиях Windows, ошибка не новая и в Microsoft о ней известно, при этом серьёзной угрозы сбой не представляет, и его легко устранить самостоятельно, не обращаясь за помощью к специалисту. Существуют варианты решения задачи, которые будут эффективны в зависимости от источника проблемы.

Ошибка 0x80073712 в Windows 10

Причина ошибки 80073712

Возникающий в Windows код ошибки обновления 0x80073712 сообщает о невозможности получения доступа к определённым данным ввиду их отсутствия или нарушения целостности, что и является основной причиной. Факторы, приведшие к неработоспособности хранилища компонентов обновления, могут быть разными, например, часто ошибки спровоцированы некорректным выключением устройства в ходе выполнения таких задач как обновление или инсталляция ПО. Причина может заключаться и в сбоях работы Windows Update, для возвращения работоспособности софт требует перезапуска.

В некоторых случаях сбой вызван чрезмерной бдительностью защитного софта, определившего загружаемые апдейты как элементы вредоносного ПО и заблокировавшего их загрузку, в результате чего данные и не могут быть получены службой.

Ошибка 0x80073712 в Windows

Способы решения и устранения 80073712

Если в процессе инсталляции накопительного обновления KB4598242, KB4598229 или другого крупного обновления появилась ошибка, вследствие чего пакет устанавливаться не будет, вы сможете справиться с устранением сбоя, выполнив необходимые шаги. Случайные системные ошибки могут исчезнуть после обычной перезагрузки, но в большинстве случаев от пользователя потребуется ряд действий для решения задачи.

В ранних версиях ОС вопрос решался путём применения специального средства проверки системы к обновлению CheckSUR, устраняющего в т. ч. проблемы с хранилищем компонентов. В случае с Windows 10 решение может быть найдено с применением штатных инструментов.

Разберём, как исправить ошибку 0x80073712, применяя доступные способы, которые эффективны в зависимости от источника проблемы.

Недостаток места на диске

Любым процессам, протекающим в системе, требуется место на диске, и, если системный раздел сильно загружен (на 90% и более), это может приводить к потере производительности и разного рода ошибкам. Чтобы избежать подобных проблем, следует очистить диск от программного мусора и приложений, которые не используются. Чтобы посмотреть занимаемый объём и очистить диск, выполним такие шаги:

Работа вирусов или антивирусов

Препятствовать выполнению системных процессов могут вредоносные программы. Выполняются стандартные профилактические мероприятия: сканирование установленным защитным софтом и специальными утилитами.

Но не только зловреды, но и защитное ПО может препятствовать системным процессам, принимая файлы за элементы вредоносного софта. В таком случае проблема решается отключением антивируса на время выполнения обновления системы.

Отключение антивирусной программы

Повреждение хранилища обновлений

Поскольку код 0x80073712 часто сообщает, что хранилище компонентов повреждено, следует рассматривать и такой сценарий. Временные данные обновлений вмещает каталог SoftwareDistribution и, если речь идёт о нарушении его целостности, ОС выдаёт ошибку. В отсутствие хранилища Windows создаёт новое в автоматическом режиме, поэтому целесообразно имитировать исчезновение каталога методом переименования объекта. Выполнение задачи возможно различными путями.

С помощью Проводника:

Посредством Командной строки:

  • запускаем средство на администраторских правах из меню «Пуск»;Командная строка в Windows 10
  • запросами останавливаем службы:

    net stop WuAuServ
    net stop BITS

    (после каждого запроса подтверждаем выполнение действия клавишей ввода);Выполнение команды net stop wuauserv

  • командой rename переименовываем папку, указав к ней путь:

    rename C:WindowsSoftwareDistribution SoftwareDistribution_old

    и жмём Enter;Переименовывание папки командой rename

  • активируем службы:

    net start WuAuServ
    net start BITS

    Выполнение команды net start wuauserv

  • закрываем терминал и перезагружаем устройство.

Запуск средства устранения неполадок

В Windows имеется встроенный инструмент, позволяющий избавиться от различных программных неисправностей, который в ряде случаев эффективно справляется с задачей. Применяется он и в случае проблем при обновлении, включая рассматриваемое уведомление, препятствующее процессу. Для применения инструмента:

Проверка ОС на целостность файлов

Если источником появления сбоя 0x80073712 является повреждённый или отсутствующий компонент, его восстановление поможет решить проблему. Для решения используем штатные инструменты системы: утилиты SFC и DISM.

Посредством System File Checker:

Сканирование посредством Deployment Image Servicing:

  • открываем терминал и задаём команду DISM.exe/Online /Cleanup-image /Restorehealth, после которой нажмём «Ввод»;
  • дожидаемся окончания сканирования. Инструмент автоматически исправит проблемы при обнаружении, а пользователю будет виден результат выполненной работе;Запуск Deployment Image Servicing
  • перезагружаем устройство и пробуем установить апдейты.

Удаление ожидающего XML-файла

Спровоцировать сбой способны также остаточные элементы, в частности XML-файл, содержащий нужные для компонентов ОС сведения. Если он не самоустранился или был повреждён, при последующих инсталляциях пакетов вероятны проблемы, включая рассматриваемую неприятность. Решение заключается в принудительном удалении элемента, вследствие чего корректный файл создастся операционкой при старте поиска свежего ПО.

В Windows 10 поможет Командная строка:

  • запустим терминал (администратор);
  • останавливаем службу установщика модулей, применив запрос netstop trustedinstaller (жмём Enter);Команда net stop trustedinstallerРабота команды net stop trustedinstaller
  • далее выполняем поочерёдно команды:

    cd %windir%winsxs

    Команда для перехода по пути расположения целевого XML-файла

    takeown /f pending.xml /a

    Команда для отключения файла с настройками

    cacls pending.xml /e /g everyone:f

    Команда для избавления от остаточных зависимостей

    del pending.xml

    Команда для удаления целевого XML-файла(после каждого запроса жмём Enter на клавиатуре);

  • перезагружаем девайс.

Перезапуск службы «Центра обновления Windows»

В ряде случаев эффективной становится перезагрузка некорректно работающей службы. Так, перезапустив Центр обновления Windows, возможно, получится исправить код 0x80073712. Выполним рестарт:

Сброс и обновление компонентов ОС

В «Десятке» решить проблему можно путём сброса компонентов, участвующих в инсталляции пакетов обновлений. Метод поможет, если какой-либо из них сбоит.

Выполняем сброс в терминале, применив запросы:

net stop bits
net stop wuauserv
net stop appidsvc
net stop cryptsvc
ren %systemroot%SoftwareDistribution SoftwareDistribution.old
ren %systemroot%system32catroot2 catroot2.old
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc

Отключение компонентов обновления

Удаление папки файлов обновлений

В SoftwareDistribution могут содержаться неполные или повреждённые данные. Это провоцирует некорректное функционирование службы обновлений. Исправить сбой возможно путём переименования папки (метод подробно описан выше) или её удаления. Для этого выполняем шаги:

  • останавливаем службы обновления Windows и фоновой интеллектуальной передачи (в окне служб или консольными командами) – подробно эти действия описаны в инструкции по переименованию папки;
  • идём в Проводник, перемещаемся в директорию C:WindowsSoftwareDistribution и очищаем содержимое;Содержимое папки SoftwareDistribution
  • активируем отключённые ранее службы.

СОВЕТ. Если не удаётся удалить содержимое папки, перезагрузите девайс и вернитесь в каталог для выполнения задачи.

Если ни одно из рассмотренных решений не помогло, переходим к крайним мерам, таким как восстановление системы, вследствие чего гарантированно удастся избавиться от ошибки и установить необходимые обновления.

При установке некоторых обновлений Windows самых разных версий, система может прерывать этот процесс и выдавать код ошибки 0x80073712. Этот код, если верить сайту поддержки Windows, может говорить о том, что произошла неизвестная ошибка и Центр обновления не сможет продолжить установку. В этой статье мы расскажем о том, как исправить ошибку 80073712, а также о том, как восстановить работоспособность службы Windows Update.

0x80073712

Почему система сообщает об ошибке 0x80073712?

На официальном сайте поддержки Windows имеется статья, которая описывает причины появления ошибки 0x80073712. Согласно этой статье главной причиной для 80073712 является нарушение работы хранилища различных компонентов обновления. Это исключительно системная ошибка и никак не связана с работоспособностью жесткого диска и оперативной памяти. Ошибка 80073712 говорит о том, что служба Windows Update не может получить доступ к тому или иному элементу, который необходимо установить в систему.

Для предыдущих версий ОС Windows существовала специальная утилита CheckSUR, которая могла прийти на помощь в случае, когда вы видите код 80073712. Она позволяла исправить проблемы с хранилищем, когда произошла неизвестная ошибка Windows Update. C приходом Windows 10 эта утилита стала бесполезной, так как ошибка 80073712 может быть устранена системными средствами, которые уже встроены в ОС.

Восстановление работы Центра обновлений

О том, как действовать в случае, если произошла неизвестная ошибка и в окне Windows Update во время установки обновлений отображается код 80073712, мы расскажем ниже. Для проведения всех описанных процедур вам необходимо закрыть Центр обновлений или же перезагрузить компьютер. Ошибка 80073712 будет устранена только в том случае, если при выполнении всех шагов инструкции, вы будете использовать учетную запись Администратора. Обычные учетные записи не смогут внести необходимые изменения в параметры системы.

Этап #1

Первым делом необходимо восстановить поврежденное хранилище компонентов. Если у вас нет установочного диска Windows, сделайте следующее:

  • Запустите системную утилиту PowerShell от имени Администратора.
  • Введите в ее окне следующую команду и нажмите Enter для подтверждения — Repair-WindowsImage -Online -RestoreHealth
  • Дождитесь полного завершения операции восстановления. Отчет об этом будет показан прямо под вашей командой в окне PowerShell. Процедура восстановления может занять продолжительное время и зависит от конфигурации вашей системы. В среднем это занимает от 10 до 15 минут.

По окончании работы системы восстановления, вам будет показан отчет. Текущий статус хранилища компонентов будет обозначен параметром Image Health State. В случае если статус Healthy, это означает, что работа хранилища восстановлена и можно переходить ко второму этапу этого руководства.

  • Если же у вас есть установочный диск с Windows, процесс восстановления будет немного отличаться:
  • Нажмите правой клавишей мыши на ISO-образе Windows и в открывшемся меню выберите пункт Подключить. Запомните букву диска, которую система присвоила смонтированному образу.
  • Запустите PowerShell с правами Администратора и выполните команду Repair-WindowsImage -Online -RestoreHealth -Source Х:sourcesinstall.wim:1 предварительно заменив Х на ту самую букву, которая была присвоена ISO-образу.
  • Дождитесь окончания процедуры и проверьте статус хранилища компонентов. Он должен быть Healthy.

Этап #2

После восстановления работы хранилища необходимо провести сканирование и проверку целостности системных файлов. Фактически этот этап не связан с работой хранилища компонентов, но его стоит провести для того, чтобы убедиться в работоспособности системных компонентов. Для этого необходимо:

  • Открыть Командную строку от имени Администратора.
  • Выполнить команду sfc /scannow и дождаться завершения процедуры проверки. Она может занять от 5 до 10 минут.

После завершения процесса проверки можете перейти в Центр обновлений Windows и повторить попытку установки. В некоторых случаях может понадобиться перезагрузка системы для вступления в силу всех внесенных изменений.

Вчера на работе устанавливал новый комп и когда выключал его пошло обновлении и у меня не было времени ждать пока все 73 пакета поставятся и я тупо его выключил (знаю что так делать нельзя, но обстоятельства и ограничение по времени диктовали другие условия и сжав пальцы крестиком и по надеясь на русское “АВОСЬ” пошел на этот рискованный шаг).

Когда включил комп, он запустился без проблем,  доставились какие то обновления, потом было пару раз перезагрузок и при очередном поиске обновлений и установке вылетела вот такое окно с ошибкой:

Код 80073712 произошла неизвестная ошибка Windows Update

ошибка 80073712 при обновлении

Причина ошибки 80073712

Когда я выключил принудительно компьютер в процессе установки обновления я повредил хранилище компонентов Windows Update и поэтому теперь не поставятся ни одно обновление на компьютер.

PS (ни в коем случае не надейтесь на АВОСь и не выключайте компьютер когда устанавливаются обновления, потому как я еще отделался легко, а мог и полностью загубить систему и пришлось все это восстанавливать или переустанавливать)

Способы решения и устранения 80073712

Способов решения данной ошибки  с кодом 80073712 достаточно много и я постараюсь описать их все. Но самый легкий и 100% который вылечит эту ошибку  я опишу в самом конце статьи.

Варианты исправления ошибки 80073712:

  1. Вариант от Microsoft (я его описал, но им лучше не пользоваться)
  2. Вариант от Microsoft используя утилиту DISM
  3. Удаление хранилища обновлений SoftwareDistribution
  4. Проверка целостности файлов
  5. Средство проверки готовности системы к обновлению от Microsoft KB947821

Вариант от Microsoft (1 вариант)

Скажу сразу что этот способ я не советую использовать, сразу, а только если уже ни чего не помогло!

  1. Закройте все программы и перезагрузите компьютер.

  2. Вставьте DVD-диск с ОС Windows в соответствующий дисковод на компьютере. Дождитесь запуска программы установки. Если установка не началась автоматически, выполните следующие действия.

    1. Нажмите кнопку Пуск и введите в поле поиска Диск:setup.exe, где Диск — это буква DVD-дисковода на компьютере (например, D:setup.exe).

    2. В списке Программы выберите Setup.exe.

  3. Нажмите кнопку Установить.

  4. Выберите параметр Выполнить подключение к Интернету для получения последних обновлений программы установки (рекомендуется).

  5. При отображении соответствующего запроса укажите ключ продукта Windows.

  6. В окне Выберите тип установки щелкните Обновление.

  7. После завершения установки перезагрузите компьютер, а затем откройте Центр обновления Windows.

Вариант от Microsoft используя утилиту DISM (2 вариант)

Данный способ очень хорош, но я его использовал всего пару раз!

  1. Откройте командную строку под Администратором
  2. В командной строке введите следующие команды. Нажимайте клавишу ВВОД после каждой команды:

  3. DISM.exe /Online /Cleanup-image /Scanhealth

    DISM.exe /Online /Cleanup-image /Restorehealth

  4. Перезагрузите компьютер

  5. Снова запустите Центр обновления Windows.

Удаление хранилища обновлений SoftwareDistribution (3 вариант)

Этот способ я бы выделил в разряд радикальных, но он в действительности почти всегда срабатывает

  1. Откройте управление компьютером и остановите службу
    ошибка 80073712
  2. Далее переходим в директорию C:WindowsSoftwareDistribution
  3. Переносим или удаляем все папки из нее
  4. Запускаем службу обновления  (ту которую останавливали в первом пункте)
  5. Запускаем обновление Windows и смотрим результат

Проверка целостности файлов (4 вариант)

Данная команда эта как таблетка аспирина для человека если болит голова сначала выпей ее

  1. Откройте командную строку под Администратором
  2. cmd >sfc /SCANNOW
  3. Запускаем обновление Windows
  4. Возможно этот вариант Вам тоже поможет!

Средство проверки готовности системы к обновлению от Microsoft KB947821 (5 вариант)

Этот способ самый надежный и 100% он решит Вашу проблему, но если он не помог, тогда пробуйте  по пунктам со второго варианта и у Вас все получится, а если нет, то пишите мне и мы вместе разберемся с этой проблемой

  1. переходим по ссылке на сайт Микрософта и скачиваем пакет под Вашу систему
  2. Устанавливаем и перезагружаем компьютер
  3. Радуемся жизни

PS если радость не получилось, то продуйте с варианта второго и низ!

80073712, 80073712 windows 7, 80073712 windows 7 ошибка обновления, windowsupdate 80073712, windowsupdate 80073712 windowsupdate dt000, исправить 80073712, исправить ошибку 80073712, код 80073712, код 80073712 windows 7, код ошибки 80073712, код ошибки 80073712 windows 7, код ошибки обновления 80073712, ошибка 80073712, ошибка 80073712 windows 7, ошибка windows код 80073712, ошибка обновлений 80073712, ошибка обновления windows 7 код 80073712, причины появления ошибки 80073712, центр обновлений windows 80073712

  • Установщик обнаружил ошибку 0x80070bc9
  • Установщик обнаружил ошибку 0x8007065e
  • Установщик обнаружил ошибку 0x800704c7 windows 7 как исправить
  • Установщик обнаружил ошибку 0x8007043c
  • Установщик обнаружил ошибку 0x80070437 windows 7 как исправить