Причины появления 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 Data\Microsoft\Network\Downloader\qmgr*.dat»
- Ren %Systemroot%\SoftwareDistribution\DataStore DataStore.bak
- Ren %Systemroot%\SoftwareDistribution\Download Download.bak
- Ren %Systemroot%\System32\catroot2 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 Data\Microsoft\Network\Downloader\qmgr*.dat»
del /s /q /f «%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr*.dat»:: —— Renaming the softare distribution folders backup copies ——
call :print Deleting the old software distribution backup copies.cd /d %SYSTEMROOT%
if exist «%SYSTEMROOT%\winsxs\pending.xml.bak» (
del /s /q /f «%SYSTEMROOT%\winsxs\pending.xml.bak»
)
if exist «%SYSTEMROOT%\SoftwareDistribution.bak» (
rmdir /s /q «%SYSTEMROOT%\SoftwareDistribution.bak»
)
if exist «%SYSTEMROOT%\system32\Catroot2.bak» (
rmdir /s /q «%SYSTEMROOT%\system32\Catroot2.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%\winsxs\pending.xml» (
takeown /f «%SYSTEMROOT%\winsxs\pending.xml»
attrib -r -s -h /s /d «%SYSTEMROOT%\winsxs\pending.xml»
ren «%SYSTEMROOT%\winsxs\pending.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%\system32\Catroot2» (
attrib -r -s -h /s /d «%SYSTEMROOT%\system32\Catroot2»
ren «%SYSTEMROOT%\system32\Catroot2» 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 bitscall :print Starting the Windows Update services.
net start wuauservcall :print Starting the Windows Update services.
net start appidsvccall :print Starting the Windows Update services.
net start cryptsvccall :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.