How to fix error 0x8007371b when updating Windows 7, 8 and 10?

Error 0x8007371b occurs during the installation of various updates for the Windows 10 operating system. However, some users on the network claim that a similar code can also be seen on Windows 7 and Windows 8. In the OS Events Viewer regarding this error, you can see the following information:

Installation error: Unable to install the next update due to error 0x8007371b. [НАЗВАНИЕ И НОМЕР ОБНОВЛЕНИЯ]

In today’s article, we will introduce you to a number of methods that can eliminate this error and return your OS to a healthy state in a few minutes.

Troubleshooting error 0x8007371b

0x8007371b

Method # 1 Using the Troubleshooter

The first thing you need to do is use an automated troubleshooter. You don’t need to download anything, because the tool is already installed in your OS. To run the tool, you need to do the following:

  • press the combination Win + I to open a window with System Settings;
  • click LMB on the “Update and security” section;
  • go to the “Troubleshooting” tab;
  • find “Windows Update” in the presented list and select it by clicking on it with LMB;
  • then click on the “Run the troubleshooter” button;
  • follow the instructions coming from the new window.

Once you’re done using the tool, close all open windows and restart your computer. Now go to Windows Update and run the update installation again. Is error 0x8007371b still showing up? Let’s move on to the next method.

Method # 2 Using Deployment Image Service Management (DISM)

You may have encountered problems updating Windows due to the fact that some system files and Windows components have been corrupted. In such a situation, it is advisable to use the Deployment Image Service Management (DISM) utility. Translated into Russian, this utility will be called Deployment Image Servicing and Management.

  • Press the combination Win + R to open the “Run” window;
  • write the cmd value in an empty line and press the combination Ctrl + Shift + Enter;
  • run the following three commands in the system console:
    • DISM / Online / Cleanup-Image / CheckHealth
    • DISM / Online / Cleanup-Image / ScanHealth
    • DISM / Online / Cleanup-Image / RestoreHealth
  • check out DISM results and restart your PC.

Log into Update Center and check if error 0x8007371b is gone. If nothing has changed, then let’s move on.

Method # 3 Resetting the Update Center components

It is possible that something went wrong and some Windows Update components were damaged. This does not mean that you will have to completely reinstall the system to fix the problem. No, it is enough to use a homemade “batch file” with a special script, and the trick is in the bag. Create the most common text file on your Desktop.

Open the text editor and paste the following script into it:

:: 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) (AP ;; CCLCSWR; AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;; WD)
sc.exe sdset bits D: (A ;; CCLCSWLOCRRC ;;; AU) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCDCLCSWRPWPDTLCRSDRCWDWO ;;; SO) (A ;; SLCSWRPWP( AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;; WD)
sc.exe sdset cryptsvc D: (A ;; CCLCSWLOCRRC ;;; AU) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCDCLCSWRPWPDTLCRSDRCWDWO ;;; SO) (A ;; CCLCTWR; AU; FA; CCDCLCSWRPWPDTLOCRSDRCWDWO ;; WD)
sc.exe sdset trustedinstaller D: (A ;; CCLCSWLOCRRC ;;; AU) (A ;; CCDCLCSWRPWPDTLOCRSDRCWDWO ;;; BA) (A ;; CCDCLCSWRPWPDTLCRSDRCWDWO ;;; SO) (A ;; CCLCSWR; 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
:: / ********************************************* ************************************* /

Save the changes you made to the file and then change its extension from .txt to .bat. You can also choose any name for the file, for example, “Script for CH reset” or “CH components reset”, but this does not play any role. See the brand new gear file? Ok, right-click on it and select “Run as administrator”.

And … that’s all. The process of resetting the Update components should take no more than a few seconds. If you don’t want to bother with file creation, you can use the following links to download pre-created batch files:

Downloading and creating a file manually takes approximately the same amount of time, so do as you see fit. After the reset process is complete, be sure to restart your computer and check for error 0x8007371b.

Earn points and exchange them for valuable prizes – details

Leave a Comment