How to fix error 0xC19001e2 when updating Windows 10?

During the installation of a major update for Windows 10, you may stumble upon an error with code 0xC19001e2. Along with this code, there is also a message MOSETUP_E_PREINSTALL_SCRIPT_FAILED, which means “the preinstallation script did not start” (or returns an error).

Solution for error 0xC19001e2 when updating

0xC19001e2

Solution # 1 Resetting the Update Center components

Perhaps, let’s start right away with the most effective solution: resetting Windows Update 10 components. As a rule, a similar procedure is carried out manually using the Command Line, however, you can create a special script on your computer that will do everything for you in quite short terms.

So, create the most common textbook on your computer. Open the created file and paste all the following lines into it:

@echo off

:: Reset Update Center
:: GamesQA.ru

:: Checking and Stopping the Windows Update services
set b = 0

: bits
set / ab =% b% + 1
if% b% equ 3 (
goto end1
)

net stop bits
echo Checking the bits service status.
sc query bits | findstr / I / C: “STOPPED”
if not% errorlevel% == 0 (
goto bits
)
goto loop2

: end1
cls
echo.
echo Cannot reset Windows Update since “Background Intelligent Transfer Service” (bits) service failed to stop.
echo.
pause
goto Start

: loop2
set w = 0

: wuauserv
set / aw =% w% + 1
if% w% equ 3 (
goto end2
)
net stop wuauserv
echo Checking the wuauserv service status.
sc query wuauserv | findstr / I / C: “STOPPED”
if not% errorlevel% == 0 (
goto wuauserv
)
goto loop3

: end2
cls
echo.
echo Cannot reset Windows Update since “Windows Update” (wuauserv) service failed to stop.
echo.
pause
goto Start

: loop3
set app = 0
: appidsvc
set / a app =% app% + 1
if% app% equ 3 (
goto end3
)
net stop appidsvc
echo Checking the appidsvc service status.
sc query appidsvc | findstr / I / C: “STOPPED”
if not% errorlevel% == 0 (
goto appidsvc
)
goto loop4

: end3
cls
echo.
echo Cannot reset Windows Update since “Application Identity” (appidsvc) service failed to stop.
echo.
pause
goto Start

: loop4
set c = 0

: cryptsvc
set / ac =% c% + 1
if% c% equ 3 (
goto end4
)
net stop cryptsvc
echo Checking the cryptsvc service status.
sc query cryptsvc | findstr / I / C: “STOPPED”
if not% errorlevel% == 0 (
goto cryptsvc
)
goto reset

: end4
cls
echo.
echo Cannot reset Windows Update since “Cryptographic Services” (cryptsvc) service failed to stop.
echo.
pause
goto Start

: Reset
Ipconfig / flushdns
del / s / q / f “% ALLUSERSPROFILE% Application Data Microsoft Network Downloader qmgr * .dat”
del / s / q / f “% ALLUSERSPROFILE% Microsoft Network Downloader qmgr * .dat”
del / s / q / f “% SYSTEMROOT% Logs WindowsUpdate *”

if exist “% SYSTEMROOT% winsxs pending.xml.bak” del / s / q / f “% SYSTEMROOT% winsxs pending.xml.bak”
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.bak” rmdir / s / q “% SYSTEMROOT% SoftwareDistribution.bak”
if exist “% SYSTEMROOT% SoftwareDistribution” (
attrib -r -s -h / s / d “% SYSTEMROOT% SoftwareDistribution”
ren “% SYSTEMROOT% SoftwareDistribution” SoftwareDistribution.bak
)

if exist “% SYSTEMROOT% system32 Catroot2.bak” rmdir / s / q “% SYSTEMROOT% system32 Catroot2.bak”
if exist “% SYSTEMROOT% system32 Catroot2” (
attrib -r -s -h / s / d “% SYSTEMROOT% system32 Catroot2”
ren “% SYSTEMROOT% system32 Catroot2” Catroot2.bak
)

:: Reset Windows Update policies
reg delete “HKCU SOFTWARE Policies Microsoft Windows WindowsUpdate” / f
reg delete “HKCU SOFTWARE Microsoft Windows CurrentVersion Policies WindowsUpdate” / f
reg delete “HKLM SOFTWARE Policies Microsoft Windows WindowsUpdate” / f
reg delete “HKLM SOFTWARE Microsoft Windows CurrentVersion Policies WindowsUpdate” / f
gpupdate / force

:: Reset the BITS service and the Windows Update service to the default security descriptor
sc.exe sdset bits D: (A ;; CCLCSWRPWPDTLOCRRC ;;; SY) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCLCSWLOCRRC ;;; AU) (A ;; CCLCSWRPWP ;; PU)

sc.exe sdset wuauserv D: (A ;; CCLCSWRPWPDTLOCRRC ;;; SY) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCLCSWLOCRRC ;;; AU) (A ;; CCLCSWRPWPDTL;

:: Reregister the BITS files and the Windows Update files
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
regsvr32.exe / s wudriver.dll
netsh winsock reset
netsh winsock reset proxy
:: Set the startup type as automatic
sc config wuauserv start = auto
sc config bits start = auto
sc config DcomLaunch start = auto

: Start
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc

Save the copied commands in the text editor, then change its extension from .txt on the .bat and confirm your intentions when the question box appears. You can also give a name to this file, but it doesn’t really matter. Anyway, double-click on the created “batch file” and watch the magic. Once the update process is complete, restart your computer and check for error 0xC19001e2.

Solution # 2 Installing the required update manually

Why bother with the Update Center if this or that update can be installed manually? It is true, if the above solution did not help you to work around the error, then it will be easier to go to Microsoft Update Catalog, download the update with which the error 0xC19001e2 occurs, and install it yourself. You can find the number of the problematic update in the Update Center log in the system settings.

Solution # 3 Run the troubleshooter

In some cases, a troubleshooter can solve this problem. It will scan your system for problems with the Update Center and then provide a potential solution for them.

Press Windows + I to open System Options and then go to Update & Security → Troubleshoot. Here you need to select the “Windows Update” item and click on the “Run the troubleshooter” button. Now just follow the onscreen instructions and try to fix error 0xC19001e2.

Earn points and exchange them for valuable prizes – details

Leave a Comment