Методы решения ошибки 0xc1900204 на Windows 7, 8 и 10

Ошибка 0xc1900204 возникает в процессе установки нового обновления для Windows 7, 8 и 10. Проблема крайне распространенная, но легко решается при помощи нескольких элементарных (и не очень) методов. Ознакомиться с этими методами вы можете ниже в статье.

Устранение ошибки 0xc1900204 при апдейте Windows

0xc1900204

Метод №1 Корректировка реестра Windows

Этот метод будет чрезвычайно полезен в том случае, если директория, в которую по умолчанию устанавливаются программы для Windows, была изменена каким-то процессом в системе. Метод поможет избавиться от ошибки 0xc1900204, но вам потребуется слегка покопаться в реестре своей Windows.

  • Нажмите Win+R;
  • пропишите значение regedit и нажмите Enter;
  • перейдите в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion;
  • нажмите правой кнопкой мыши на параметр ProgramFilesDir и выберите «Изменить»;
  • удалите данные со строчки «Значения» и вставьте туда путь к папке «Program Files» на вашем компьютере;
  • сохраните изменения и закройте окошко редактора реестра;
  • перезагрузите компьютер.

Попытайтесь обновить Windows еще раз и проверьте наличие ошибки 0xc1900204.

Метод №2 Применение средства устранения неполадок

К счастью, в Windows есть особое средство, при помощи которого можно разрешить кое-какие базовые неполадки в системе. Попробуйте воспользоваться этим средством и посмотрите, получится ли у вас после этого нормально обновить систему. Чтобы запустить средство устранения неполадок, сделайте следующее:

0x80D03805

 

  • откройте Параметры (Win+I);
  • перейдите в «Обновление и безопасность→Устранение неполадок»;
  • выберите пункт «Центр обновления Windows»;
  • нажмите на кнопку «Запустить средство устранения неполадок»;
  • следуйте инструкциям у себя на экране и примените решение, которое будет вам предложено.

Метод №3 Освобождение дополнительного места на диске

Довольно простой метод: внимательно проходим глазами по своему диску и удаляем все ненужное, тем самым освобождая дополнительное место. Все дело в том, что ошибка 0xc1900204 может возникать из-за недостатка свободного места, необходимого для установки новых обновлений.

Метод №4 Сброс компонентов Windows

Этим методом стоит заниматься только в самую последнюю очередь. Центр обновления Windows начал «барахлить»? Тогда вы можете попробовать сбросить все его компоненты. Процесс достаточно трудоемкий, включает в себя множество различных команд. Тем не менее вы можете облегчить себе задачу, прибегнув к созданию удобного BAT-файла, который сделает все за вас.

Итак, создайте у себя на Рабочем столе элементарный текстовый файл. Откройте файл, после чего вставьте в него весь следующий список:

:: 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 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
:: /*************************************************************************************/

Да, список выглядит крайне странно, но поверьте: все это вам действительно понадобится. Сохраните изменения в текстовом файле и закройте его. Теперь нажмите на него правой кнопкой мыши и выберите «Переименовать». Задайте файлу любое понравившееся вам имя, например, WinUpReset, и измените его расширение с TXT на, внимание, BAT. Обязательно сделайте последнее, иначе ничего не сработает!

Нажмите на него еще раз ПКМ и выберите «Изменить». Хорошенько пройдитесь глазами по командам и убедитесь, что ничего не было пропущено. Чтобы начать сброс компонентов Центра обновления Windows, дважды кликните на WinUpReset.bat и дождитесь окончания процесса.

Запускаем обновление Windows и смотрим, покажется ли ошибка 0xc1900204.

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

0

1

Оставить комментарий

avatar
  Подписаться  
Уведомление о