The Windows update is sometimes a nightmare, especially on the business/work network. If you have direct internet without any proxy or WSUS servers, it will work without any issues most of the time. That is how it works on personal computers at home. But when there is a complicated setup with the different versions of servers, multiple Internet gateways, and proxy servers, you will face random issues with Windows updates. Recently I had a problem with Windows 2016 server where the Windows update stuck at 0% and did not move further.
A server that sits at 0% in Windows Update usually has something blocking the download, not a slow connection. Check three things in order: the Windows Firewall service is running, no proxy is set for Windows Update (WinHTTP), and the SoftwareDistribution download folder is clean. On my Windows Server 2016 VM, the stopped firewall service was the cause.
In my case, it detected the available updates, but it stuck at 0% when it started downloading. I thought that something was wrong with the Internet connectivity, but the Internet browsing worked fine on the same server. After finding several solutions online, only one worked for me. In this post, I will share how to fix the Windows update stuck at 0% issue on that Windows 2016 server, which is a virtual machine running on Hyper-V. The same checks apply to Server 2019, 2022 and 2025, and I have added the September known issue that makes the Windows Update page hang.

Why Is My Windows Update Stuck at 0%?
The download never starts because something between the server and the update source is blocking it: a stopped service, a proxy, WSUS, or a damaged download folder. That is why the same server can browse the Internet fine and still sit at 0%. Windows Update has its own services and its own proxy setting, so a working browser proves very little.
How Long Should a Windows Update Take?
A Microsoft support community answer for a client PC says to give it about 2 hours before treating 0% as stuck. On a server with a normal connection, I would start the checks below earlier, since they are quick to try.
When the Windows Update page itself keeps loading and never shows any updates, read the known issue section further down first. For a Windows 10 update stuck at 0% on a PC and not a server, this post on Windows 10 update stuck at 57 percent is closer to your case.
Fix Windows Update Download Stuck at 0 on Server 2016/2019/2022/2025
Let me add the solution first, which worked for me after trying several steps. If this does not work for you or your scenario is different, then proceed to the other steps.
1) Check the Windows Firewall Service Status
In my case, I had disabled the Windows firewall for some other purpose earlier. So, the update stuck at 0% without any progress while the firewall service was stopped.
I could not find a Microsoft article that explains why a stopped firewall service blocks the download, so take this as what worked on my server, not as a rule. It is quick to check, which is why it is first.
Open Services from the Server Manager (Tools > Services) and make sure the Windows Firewall service is running. It is listed as Windows Defender Firewall on newer servers. You can also check it from an elevated PowerShell window.
Get-Service MpsSvc
Start-Service MpsSvc
Once I started the service, the Windows update started downloading automatically.
If this step doesn’t fix the issue, go to the next steps.
2) Check the Internet Proxy Settings
In most cases, Windows update can’t download the packages via the web proxy (though it depends on the authentication and security policy of the web proxy).
Check and confirm that there is no proxy setup on the web browser.

Windows Update does not read the browser setting, though. It uses the WinHTTP proxy, which is a separate setting. Check the current and active WinHTTP proxy from the command prompt.
netsh winhttp show proxyWhen it shows a proxy server that you do not want, the command below sets it back to direct access.
netsh winhttp reset proxyMicrosoft also has netsh winhttp import proxy source=ie, which copies the browser setting into WinHTTP if you need it the other way round. The details are in the netsh winhttp reference.
You should remove the proxy settings and provide direct Internet access to Windows servers to download Windows updates.
Also check where the server gets its updates. If Group Policy points it to a WSUS server, the 0% can be the server failing to download the approved files from WSUS, so look at the WSUS side first. To test the server against Microsoft Update directly (only if your policy allows it), here is how to disable WSUS by registry on a managed computer.
3) Clear the Update Download Folder
There could be a reason that the Windows update content folder/file/catalog is corrupted, so the download is stuck at 0%. To clear a failed or stuck update download, stop the Windows Update service, empty the SoftwareDistribution folder and start the service again.
Go to the Services and locate the Windows update service. Stop the service.

Once the service stops successfully, go to the following folder location and delete all content (files and folders).
C:\Windows\SoftwareDistribution

This is the place where Windows OS downloads the updates. After deleting the files, start the same Windows Update service you stopped initially. This will restart the update service and download the updates stuck at 0% on the server earlier.
The same three steps from an elevated command prompt look like this. They are the short reset in Microsoft’s own Windows Update reset guide.
net stop wuauserv
rd /s /q %systemroot%\SoftwareDistribution
net start wuauserv4) Read the Windows Update Log
If the first three steps do not help, the log tells you what the download is waiting for. In an elevated PowerShell window, run the command below. It merges the Windows Update trace files into one readable WindowsUpdate.log.
Get-WindowsUpdateLogOpen the file and search for the DownloadManager lines around the time the update froze. Long pauses in the time stamps can point to a network problem, even when the scan itself worked. The log format is explained in Microsoft’s Windows Update log files page. The log is a static copy, so run the command again after each new attempt.
Known Issue: Windows Update Page Hangs After the September Update
Microsoft listed a known issue after the September security update on Windows Server 2016, 2019, 2022 and 2025. Remote Desktop Services can become unstable. Related tools such as MMC and File Explorer can stop responding, and the Windows Update page can keep showing a loading indicator.
This is not the same as a download stuck at 0%. But if the page never loads, check it before you reset anything. Microsoft marked it resolved on 14 September with an out-of-band (OOB) update for each version. The OOB update is cumulative, so it includes the earlier security fixes, and Microsoft recommends installing the latest update available.
| Server | September update that triggered it | Out-of-band fix |
|---|---|---|
| Windows Server 2025 | KB5122871 | KB5129235 |
| Windows Server 2022 | KB5122882 | KB5129237 |
| Windows Server 2019 | KB5122876 | KB5129238 |
| Windows Server 2016 | KB5123099 | KB5129239 |
To see which of these is on a server, run this in PowerShell. It prints only the ones that are installed. I have another post that shows more ways to view installed updates.
Get-HotFix -Id KB5129235, KB5129237, KB5129238, KB5129239 -ErrorAction SilentlyContinueIf It Is Still Stuck at 0%
Microsoft’s guide has a longer manual reset. Run it only after the steps above, because Microsoft itself says the folder renames should wait until the other steps have failed. It stops the three services, clears the downloader queue files, renames the folders and starts the services again.
net stop bits
net stop wuauserv
net stop cryptsvc
Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
Ren %Systemroot%\SoftwareDistribution\DataStore DataStore.bak
Ren %Systemroot%\SoftwareDistribution\Download Download.bak
Ren %Systemroot%\System32\catroot2 catroot2.bak
net start bits
net start wuauserv
net start cryptsvcThe same Microsoft article also lists the sc.exe and DLL re-registration steps. I would keep those for the very end, since the sc.exe step overwrites the security settings of the BITS and Windows Update services.
One more thing for Server 2016 users. Microsoft ends updates for it on 12 January 2027, so plan the move to a newer server before then.
I tried steps 2 and 3 first, but it did not help. My server never had a proxy server for Internet access. Deleting the content from the particular location and restarting the Windows Update service did not help either. Enabling the Windows firewall worked for me in the end. You can try these steps and share the outcome of which method helped download the Windows updates from Windows 2016/2019/2022/2025 servers stuck at 0%.

2 Comments
Thanks, worked for me
Thanks, it helped a lot in fixing the windows update issue.