Ошибка 0x800f0823 возникает исключительно при попытке установить новое обновление через штатный инструмент «Центр обновления Windows». По умолчанию процедура происходит в автоматическом режиме, но в данном случае она обрывается ошибкой. Если после этого открыть логи (по пути %WinDir%LogsCBSCBS.log), там должны быть записи такого вида:
Error CBS Package “xxx” requires Servicing Stack v10.0.19041.980 but current Servicing Stack is v10.0.19041.860. [HRESULT = 0x800f0823 – CBS_E_NEW_SERVICING_STACK_REQUIRED]
Ошибка преимущественно возникает в Windows 10 и в Windows Server 2016. При этом спустя любое количество попыток, обновление так и не будет установлено. У проблемы есть довольно четкая причина и ее нужно обязательно исправить.
Причины ошибки 0x800f0823
Практически во всех случаях дело заключается в том, что в Windows сильно устарело SSU (Servicing Stack Updates), на русском – стек обновления. Ранее Microsoft выпускала SSU для всех сборок Windows 10 (старее 2004) в виде отдельного обновления. С марта 2021 года компания изменила свой подход и теперь интегрирует свежие стеки в кумулятивные обновления.
Таким образом, если компьютер не получил хотя бы один из последних кумулятивов, не удастся установить последнее обновление. Вместо этого высветится уже знакомая нам ошибка 0x800f0823. Подобная проблема особенно часто возникает у тех, кто отключил у себя автоматические апдейты или компьютер долгое время не подключался к интернету, не включался вовсе.
Как исправить ошибку 0x800f0823?
Решение банально, нужно установить последний доступный SSU. Например, для 2004-21H1 это . Когда будет получено актуальное SSU, можно установить свежее кумулятивное обновление. Стоит начать с KB5003173, если не сработает самое последнее. Также для Windows Server рекомендуется установить следующие обновления: KB4132216, KB4485447, KB4487006.
Есть еще запасной способ, который потребуется в том случае, если обновления SSU установлены, но установить свежую версию Windows все равно не получается. Он подразумевает ввод серии команд, а быстрее всего это сделать – сохранить в качестве файла с расширением bat и запустить с правами администратора. Вот код:
net stop bits
net stop wuauserv
net stop appidsvc
net stop cryptsvc
Del “%ALLUSERSPROFILE%Application DataMicrosoftNetworkDownloader*.*”
rmdir %systemroot%SoftwareDistribution /S /Q
rmdir %systemroot%system32catroot2 /S /Q
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 /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
netsh winsock reset
netsh winsock reset proxy
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc
После указанной процедуры и установки подходящего SSU, Windows 10 и Server должны обновляться нормально, без возникновения ошибки 0x800f0823. Однако мы надеемся, что вы в комментариях отчитаетесь о проделанной работе и мы узнаем точно, сработало ли это или нет.