Причины появления 0X800F0982 и методы ее решения

Некоторые пользователи сталкиваются с ошибкой 0X800F0982, когда пытаются установить отложенные либо кумулятивные обновления для ОС Windows 10. Наиболее часто подобная ошибка возникает при установке KB4493509, KB4493509 и KB4489899, однако с ней можно столкнуться и при установке других апдейтов, по крайней мере, если верить утверждениям в сети.

Причины появления 0X800F0982

  • Типичный глюк Центра обновления. Рассматриваемая ошибка может являться самым обычным глюком Центра обновления, о котором, по всей видимости, Майкрософт уже давно знают. В такой ситуации необходимо воспользоваться функционалом системного средства устранения неполадок.
  • Службы Центра обновления повисли. Появление ошибок в Центре обновления можно ждать в том случае, если компоненты последнего зависли и больше не могут выполнять возложенные на них задачи. Сброс компонентов ЦО — надежное решение.
  • Поврежденные системные файлы. Повреждение системных файлов не всегда приводит к проблемам с обновлением ОС, однако такое вполне возможно. Вы можете всецело обойти ошибку 0X800F0982, запустив принудительную установку обновлений через терминал PowerShell.

Решение ошибки 0X800F0982

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

Ошибка 0X800F0982 может быть следствием самого обычного бага в работе Центра обновления Windows. Поэтому давайте не будем с вами спешить — воспользуемся системным средством устранения неполадок. Дабы запустить данное средство на своем ПК, вам нужно:

  • нажать на клавиатуре комбинацию WIN+I, чтобы открыть окошко «Параметры»;
  • перейдите в раздел «Обновление и безопасность», потом — в подраздел (или вкладку) «Устранение неполадок»;
  • кликнуть на пункт «Дополнительные средства устранения неполадок»;
  • выбрать в списке средств пункт «Центр обновления Windows» (находится в разделе диагностики и устранения неполадок);
  • нажать на кнопку «Запустить средство устранения неполадок»;
  • следовать инструкциям от средства в новом диалоговом окошке;
  • перезагрузить ПК, когда работа со средством будет закончена.

К сожалению, в некоторых случаях средство устранения неполадок не находит никаких проблем с Центром обновления, даже если те безоговорочно существуют.

Решение №2 Сброс компонентов Центра обновления

Центр обновления Windows — это гигантский механизм, который состоит из множества самых разных компонентов. Если хотя бы один из этих компонентов перестанет функционировать так, как было задумано Майкрософт, Центр обновления не сможет нормально находить и устанавливать свежие обновления. К счастью, существует процесс, способный вернуть все компоненты ЦО к их первоначальному состоянию, тем самым разрешив неполадки с обновлением ОС.

Итак, вам необходимо сделать на своем ПК следующее:

  • Нажмите комбинацию клавиш WIN+R, чтобы открыть диалоговое окошко «Выполнить».
  • Вставьте в пустую строку окна значение «CMD» и нажмите комбинацию CTRL+SHIFT+ENTER.

    Заметка: CTRL+SHIFT+ENTER запускает различные приложения от имени администратора.

  • Вызвав Командную строку, выполните в ней следующий ряд команд:
    • net stop bits
    • net stop wuauserv
    • net stop cryptsvc
    • Del “%ALLUSERSPROFILE%Application DataMicrosoftNetworkDownloaderqmgr*.dat”
    • Ren %Systemroot%SoftwareDistributionDataStore DataStore.bak
    • Ren %Systemroot%SoftwareDistributionDownload Download.bak
    • Ren %Systemroot%System32catroot2 catroot2.bak
    • 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)
    • cd /d %windir%system32
    • 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
    • netsh winsock reset
    • net start bits
    • net start wuauserv
    • net start cryptsvc
  • Перезагрузите ПК.

Вам придется затратить довольно много времени на ввод команд, даже если вы будете пользоваться буфером обмена (с нюансами, но он работает в Командной строке). Но не хотите ли вы сэкономить свое время, воспользовавшись способом, так сказать, для ленивых? Вам придется провести лишь несколько минут в системном Блокноте, и дело в шляпе. Итак, вот что вам нужно сделать:

  • Создайте в удобном для вас месте самый обычный текстовик (ПКМ→Создать→Текстовый документ).
  • Скопируйте в буфер обмена следующий скрипт:

:: Run the reset Windows Update components.
:: void components();
:: /*************************************************************************************/
:components
:: —— Stopping the Windows Update services ——
call :print Stopping the Windows Update services.
net stop bitscall :print Stopping the Windows Update services.
net stop wuauservcall :print Stopping the Windows Update services.
net stop appidsvccall :print Stopping the Windows Update services.
net stop cryptsvccall :print Canceling the Windows Update process.
taskkill /im wuauclt.exe /f
:: —— Checking the services status ——
call :print Checking the services status.

sc query bits | findstr /I /C:»STOPPED»
if %errorlevel% NEQ 0 (
echo. Failed to stop the BITS service.
echo.
echo.Press any key to continue . . .
pause>nul
goto :eof
)

call :print Checking the services status.

sc query wuauserv | findstr /I /C:»STOPPED»
if %errorlevel% NEQ 0 (
echo. Failed to stop the Windows Update service.
echo.
echo.Press any key to continue . . .
pause>nul
goto :eof
)

call :print Checking the services status.

sc query appidsvc | findstr /I /C:»STOPPED»
if %errorlevel% NEQ 0 (
sc query appidsvc | findstr /I /C:»OpenService FAILED 1060″
if %errorlevel% NEQ 0 (
echo. Failed to stop the Application Identity service.
echo.
echo.Press any key to continue . . .
pause>nul
if %family% NEQ 6 goto :eof
)
)

call :print Checking the services status.

sc query cryptsvc | findstr /I /C:»STOPPED»
if %errorlevel% NEQ 0 (
echo. Failed to stop the Cryptographic Services service.
echo.
echo.Press any key to continue . . .
pause>nul
goto :eof
)

:: —— Delete the qmgr*.dat files ——
call :print Deleting the qmgr*.dat files.

del /s /q /f «%ALLUSERSPROFILE%Application DataMicrosoftNetworkDownloaderqmgr*.dat»
del /s /q /f «%ALLUSERSPROFILE%MicrosoftNetworkDownloaderqmgr*.dat»

:: —— Renaming the softare distribution folders backup copies ——
call :print Deleting the old software distribution backup copies.

cd /d %SYSTEMROOT%

if exist «%SYSTEMROOT%winsxspending.xml.bak» (
del /s /q /f «%SYSTEMROOT%winsxspending.xml.bak»
)
if exist «%SYSTEMROOT%SoftwareDistribution.bak» (
rmdir /s /q «%SYSTEMROOT%SoftwareDistribution.bak»
)
if exist «%SYSTEMROOT%system32Catroot2.bak» (
rmdir /s /q «%SYSTEMROOT%system32Catroot2.bak»
)
if exist «%SYSTEMROOT%WindowsUpdate.log.bak» (
del /s /q /f «%SYSTEMROOT%WindowsUpdate.log.bak»
)

call :print Renaming the software distribution folders.

if exist «%SYSTEMROOT%winsxspending.xml» (
takeown /f «%SYSTEMROOT%winsxspending.xml»
attrib -r -s -h /s /d «%SYSTEMROOT%winsxspending.xml»
ren «%SYSTEMROOT%winsxspending.xml» pending.xml.bak
)
if exist «%SYSTEMROOT%SoftwareDistribution» (
attrib -r -s -h /s /d «%SYSTEMROOT%SoftwareDistribution»
ren «%SYSTEMROOT%SoftwareDistribution» SoftwareDistribution.bak
if exist «%SYSTEMROOT%SoftwareDistribution» (
echo.
echo. Failed to rename the SoftwareDistribution folder.
echo.
echo.Press any key to continue . . .
pause>nul
goto :eof
)
)
if exist «%SYSTEMROOT%system32Catroot2» (
attrib -r -s -h /s /d «%SYSTEMROOT%system32Catroot2»
ren «%SYSTEMROOT%system32Catroot2» Catroot2.bak
)
if exist «%SYSTEMROOT%WindowsUpdate.log» (
attrib -r -s -h /s /d «%SYSTEMROOT%WindowsUpdate.log»
ren «%SYSTEMROOT%WindowsUpdate.log» WindowsUpdate.log.bak
)

:: —— Reset the BITS service and the Windows Update service to the default security descriptor ——
call :print Reset the BITS service and the Windows Update service to the default security descriptor.

sc.exe sdset wuauserv D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD)
sc.exe sdset bits D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD)
sc.exe sdset cryptsvc D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD)
sc.exe sdset trustedinstaller D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD)

:: —— Reregister the BITS files and the Windows Update files ——
call :print Reregister the BITS files and the Windows Update files.

cd /d %SYSTEMROOT%system32
regsvr32.exe /s atl.dll
regsvr32.exe /s urlmon.dll
regsvr32.exe /s mshtml.dll
regsvr32.exe /s shdocvw.dll
regsvr32.exe /s browseui.dll
regsvr32.exe /s jscript.dll
regsvr32.exe /s vbscript.dll
regsvr32.exe /s scrrun.dll
regsvr32.exe /s msxml.dll
regsvr32.exe /s msxml3.dll
regsvr32.exe /s msxml6.dll
regsvr32.exe /s actxprxy.dll
regsvr32.exe /s softpub.dll
regsvr32.exe /s wintrust.dll
regsvr32.exe /s dssenh.dll
regsvr32.exe /s rsaenh.dll
regsvr32.exe /s gpkcsp.dll
regsvr32.exe /s sccbase.dll
regsvr32.exe /s slbcsp.dll
regsvr32.exe /s cryptdlg.dll
regsvr32.exe /s oleaut32.dll
regsvr32.exe /s ole32.dll
regsvr32.exe /s shell32.dll
regsvr32.exe /s initpki.dll
regsvr32.exe /s wuapi.dll
regsvr32.exe /s wuaueng.dll
regsvr32.exe /s wuaueng1.dll
regsvr32.exe /s wucltui.dll
regsvr32.exe /s wups.dll
regsvr32.exe /s wups2.dll
regsvr32.exe /s wuweb.dll
regsvr32.exe /s qmgr.dll
regsvr32.exe /s qmgrprxy.dll
regsvr32.exe /s wucltux.dll
regsvr32.exe /s muweb.dll
regsvr32.exe /s wuwebv.dll

:: —— Resetting Winsock ——
call :print Resetting Winsock.
netsh winsock reset

:: —— Resetting WinHTTP Proxy ——
call :print Resetting WinHTTP Proxy.

if %family% EQU 5 (
proxycfg.exe -d
) else (
netsh winhttp reset proxy
)

:: —— Set the startup type as automatic ——
call :print Resetting the services as automatics.
sc.exe config wuauserv start= auto
sc.exe config bits start= delayed-auto
sc.exe config cryptsvc start= auto
sc.exe config TrustedInstaller start= demand
sc.exe config DcomLaunch start= auto

:: —— Starting the Windows Update services ——
call :print Starting the Windows Update services.
net start bits

call :print Starting the Windows Update services.
net start wuauserv

call :print Starting the Windows Update services.
net start appidsvc

call :print Starting the Windows Update services.
net start cryptsvc

call :print Starting the Windows Update services.
net start DcomLaunch

:: —— End process ——
call :print The operation completed successfully.

echo.Press any key to continue . . .
pause>nul
goto :eof
:: /*************************************************************************************/

  • Далее кликните на пункт «Файл» в строке меню окна Блокнота и выберите пункт «Сохранить как…».
  • Задайте новенькому файлу произвольное имя, например, «Ленивый_сброс_ЦО», и измените его расширение с «.txt» на «.bat».

    Заметка: изменение расширение является критически важным шагом в данном методе — не забывайте об этом!

  • Выберите нужно вам расположение на компьютере, например, Рабочий стол, и нажмите на кнопку «Сохранить».
  • Перейдите к файлу «Ленивый_сброс_ЦО.bat», нажмите на него ПКМ и выберите опцию «Запуск от имени администратора».
  • Дождитесь завершения сброса компонентов Центра обновления, после чего нажмите на любую кнопку на клавиатуре, чтобы закрыть окошко Командной строки.
  • Перезагрузите компьютер.

Как только закончите восстанавливать Центр обновления, попытайтесь обновить свою ОС еще раз. Возможно, ошибка 0X800F0982 исчезла.

Решение №3 Принудительная установка обновления через PowerShell

Если вышеуказанное решение не принесло желаемого результата, то вы можете всецело обойти 0X800F0982 в Центре обновления своей Windows, принудительно установив проблемное обновление через PowerShell. Не особо углубляясь в подробности, PowerShell — это более функциональная версия старой-доброй Командной строки.

Чтобы запустить принудительную установку обновления для своей Windows 10, вам нужно сделать следующее:

  • Нажмите на клавиатуре комбинацию WIN+R.
  • Пропишите в пустую строку «POWERSHELL» и нажмите комбинацию CTRL+SHIFT+ENTER.
  • Вставьте в терминал команду «wuauclt.exe /UPDATENOW» и нажмите Enter.
  • Подождите завершения установки обновлений, после чего перезагрузите ПК.

В случае использования PowerShell вы в принципе не должны увидеть ошибки 0X800F0982.

Оцените статью