Windows 10 fix Windows 10 Update problems

Via GUI (Graphical User Interface)

Note: Make sure you are using an Administrator account!!!

1) Press Windows Logo key (
enter image description here
) and R key at the same time

2) type services.msc in the run dialog window

run dialog window.png


3) locate Windows Update, right-click on it and select Stop
stop windows update.png


4) locate Windows Installer, right-click on it and select Stop
stop windows installer.png


5) locate Cryptographic Services, right-click on it and select Stop
stop cryptographic services.png


6) locate Background Intelligent Transfer Service, right-click on it and select Stop
stop background intelligent transfer service.png


7) Press Windows Logo key (
enter image description here
) and E key at the same time to open File Explorer, select View and mark Hidden items
file explorer show hidden items.png


8) go to This PC > Local Disk > Windows
select this PC Local Disk Windows.png


9) Rename SoftwareDistribution folder to SoftwareDistribution.old
rename SoftwareDistribution.png


10) Go to This PC > Local Disk > Windows > System32 and rename catroot2 to catroot2.old
rename catroot2.png


11) Restart those services that have been stopped at steps 3 to 6

12) Restart computer



Via Command Prompt (Fastest)

1) Open a Command Prompt as administartor
Command Prompt Admin.png


2) run the following commands one at a time and press Enter after each of them

Code:
net stop wuauserv
net stop msiserver
net stop cryptSvc
net stop bits
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start wuauserv
net stop msiserver
net start cryptSvc
net start bits
 
Last edited:
Powershell version
Code:
#RequireAdmin

Stop-Service @("wuauserv","cryptSvc","bits")

if(Test-Path "$($env:SystemRoot)\System32\SoftwareDistribution.bak")
{
    Remove-Item -Path "$($env:SystemRoot)\System32\SoftwareDistribution.bak" -Force
}

if(Test-Path "$($env:SystemRoot)\System32\catroot2.bak")
{
    Remove-Item -Path "$($env:SystemRoot)\System32\catroot2.bak" -Force
}

Rename-Item -Path "$($env:SystemRoot)\System32\SoftwareDistribution" SoftwareDistribution.bak
Rename-Item -Path "$($env:SystemRoot)\System32\catroot2" catroot2.bak
Start-Sleep -Seconds 1
Start-Service @("wuauserv","cryptSvc","bits")

Deleting the catroot2 certs isn't always required, but it doesn't really hurt anything.
 
Back
Top