• October 3, 2023

How to get rid of error 0x80070012 when updating Windows 10?

Some Windows 10 users report that they run into error 0x80070012 whenever the system scans for new updates. And no, such a mistake, if you believe the statements on the network, appears exclusively on the top ten.

Taking a closer look at the problem, we found out that error 0x80070012 can occur for the following number of reasons:

  • A typical bug in the work of one of the components of the Update Center. Your Windows 10 Update is made up of many different components that perform a variety of tasks during system updates. In some cases, one of these components may start working incorrectly or stop working altogether.
  • One or more of the Update Center services are stuck. In certain cases, the Update Center services freeze tightly, which causes a number of problems, including our today’s 0x80070012. You can get rid of the freeze using an automated troubleshooter or through specific commands entered into the System Command Line.
  • Damage to system files, component store and Windows 10 image. Another possible scenario is damage to system files, component store, and the user’s operating system image. It is difficult to determine what exactly could cause such damage, but you can get rid of them using special software, for example, SFC and DISM.

Well, we figured out the reasons, and therefore it’s time to make decisions. There will be several solutions in total – we recommend that you execute them in the order in which they are located. Simply put, you should not immediately go all over the place, deciding to reinstall your OS simply because new updates do not want to be installed on it.


Solution # 1 Run the troubleshooter

A fairly large number of users on the web claim that the troubleshooter built into Windows 10 is not capable of solving problems that arise on the system. Nevertheless, we still recommend that you use this tool, because although it is rare, it can still fix the errors of the Update Center.

  • Press the Win + I combination on the keyboard to open the “Options” window in front of you.
  • In the system parameters, find the “Update and Security” section and click on it with LMB.
  • Next, go to the “Troubleshooting” subsection.
  • Find the item “Windows Update” in the list and select it with LMB.
  • Just below the button “Run the troubleshooter” will appear – click on it.
  • Now you need to follow all the recommendations from the tool in the new window, trying to eliminate the problems that have arisen.
  • Reboot your computer as soon as you are finished using the tool.

Back in the OS, open Update and run Windows Update. Perhaps this time everything will go well and the error 0x80070012 will not occur. If nothing has changed, try other solutions.

Solution # 2 Run SFC and DISM

Damage to system files, component store, and system image can all cause problems during a Windows 10 upgrade. Fortunately, damaged OS elements can be repaired using handy tools like SFC and DISM. We will now show you how to run both of these utilities from the Command Prompt.


  • Press the Win + R combination on the keyboard to bring up the Run window in front of you.
  • Write in a blank line in the windows the value “cmd” and press the combination Ctrl + Shift + Enter (to call the Command line as administrator).
  • Paste the “sfc / scannow” command (without quotes) into the system console and press Enter.
  • Wait for the utility to finish and restart your computer.
  • Open Command Prompt again as administrator.


  • Next, paste the command “Dism / Online / Cleanup-Image / CheckHealth” into the console and press Enter.
  • Wait for the command to finish and see the scan results.
  • Now enter the command “Dism / Online / Cleanup-Image / ScanHealth” and press Enter.
  • Check out the results of the second scan. Did DISM find any corruption on the system? Then it’s time to use the last command.
  • Insert the command “Dism / Online / Cleanup-Image / RestoreHealth” into the console and press Enter.
  • Wait until the end of the recovery process, then restart your PC.

SFC and DISM were supposed to fix the damage to the system. Go to Windows 10 Update and check that the error 0x80070012 is gone. Nothing changed? Moving on …

Solution # 3 Applying a restore point

In some cases, third-party software that was installed in the OS in the recent past may interfere with the normal update of Windows 10. Determining what exactly is causing the problem is not an easy task, but it can be simplified by using a Windows restore point. By default, a restore point is created whenever certain applications are installed on the system.

Here’s how to start Windows 10 recovery using the point of the same name:


  • Press the Win + R combination on the keyboard to bring up the Run window in front of you.
  • Write in a blank line in the window the value “control” and press Enter.
  • Select Large Icons or Small Icons in Control Panel view to make it easier to find the system component you want.
  • Go to the “Recovery” section and select “Run System Restore”.
  • In the new window, click on the “Next” button, select a suitable restore point and click “Next” again.
  • Click on the “Finish” button and wait for the system restore to complete.

During the recovery process, your PC will restart, so there is no need to panic when this happens. Go to the Update Center and try to update the system again. After using the restore point, the error 0x80070012 should disappear, but if you still encounter it, then there is another solution you can try.

Solution # 4 Restoring the Update Center components

Moving on to the so-called “heavy artillery” – restoring Windows Update 10 components. Sounds like a complicated thing, but in reality it is a simple operation, at least if you follow the clear directions. So, there are two ways to restore the Update Center components: manual and automatic. We will consider both ways, but we advise you to use the automatic one, and do not fool yourself.

Manually restoring Update Center components

  • Press Win + R to bring up the Run window.
  • Write in the value “cmd” and press Ctrl + Shift + Enter.
  • Run the following series of commands in the console:
    • net stop wuauserv
    • net stop cryptSvc
    • net stop bits
    • net stop msiserver
    • ren C: Windows SoftwareDistribution SoftwareDistribution.old
    • ren C: Windows System32 catroot2 Catroot2.old
    • net start wuauserv
    • net start cryptSvc
    • net start bits
    • net start msiserver
  • Reboot your PC.

Restoring Update Center components in automatic mode

  • Right-click on the Desktop and select “New → Text Document”.
  • Paste the following script into the created file:
    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
    echo Failed to reset Windows Update due to bits service failing to stop
    echo Please run the script as administartor by right clicking the WuReset file or your BITS service isn’t responding.
    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
    echo Failed to reset Windows Update due to wuauserv service failing to stop.
    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
    echo Failed to reset Windows Update due to appidsvc service failing to stop.
    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
    echo Failed to reset Windows Update due to cryptsvc service failing to stop.
    goto Start

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

    cd / d% windir% system32

    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

    if exist “% SYSTEMROOT% WindowsUpdate.log.bak” del / s / q / f “% SYSTEMROOT% WindowsUpdate.log.bak”
    if exist “% SYSTEMROOT% WindowsUpdate.log” (
    attrib -r -s -h / s / d “% SYSTEMROOT% WindowsUpdate.log”
    ren “% SYSTEMROOT% WindowsUpdate.log” WindowsUpdate.log.bak


    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 / s wudriver.dll
    netsh winsock reset
    netsh winsock reset proxy

    : Start
    net start bits
    net start wuauserv
    net start appidsvc
    net start cryptsvc
    echo Task completed sucessfully! Please restart your computer and check for the updates again.

  • Click on “File” in the Notepad menu bar and select “Save As …”.
  • Name the file “RestorationCS” and (be sure!) Change its extension from .txt to .bat.
  • Right-click on the file “RestoreTSO.bat” and select “Run as administrator”.
  • Wait a few seconds until the update process is complete, and then restart your PC.

Once you enter the OS, run the update installation again. Is error 0x80070012 still pestering you, even after all the above methods? Well, you are clearly dealing with a problem that lies at the deep level of the system. At this stage, you can:

  1. Install the problematic update directly from Microsoft Update Catalog
  2. Return the PC to its original state (via Options).
  3. Reinstall Windows 10 completely.

It’s up to you, but know that each of these options is guaranteed to save you from error 0x80070012.

Earn points and exchange them for valuable prizes – details

Leave a Reply

Your email address will not be published. Required fields are marked *