How to fix windows 2016 Datacenter windows update stuck in download

Ping Guo 0 Reputation points
2025-11-21T06:30:14.24+00:00

OS: Windows Server 2016 Datacenter Issue: Windows Update cannot update automatically, stuck at download 95%

Attempted Solutions:

Phase 1: Original Server

Manually installed the update package. After installation and reboot, the update status showed "Fail."

Executed the following commands, but they failed:

sfc /scannow

  `DISM /Online /Cleanup-Image /RestoreHealth`
  
     `DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM /LimitAccess`
     

Phase 2: In-Place Upgrade with Data Retention Using Windows 2016 ISO

After the reinstallation, executed Windows Update automatically. The October update failed, stuck at the download process.

Manually installed the update. After installation and reboot, the server showed "Fail."

Executed the following commands successfully, then rebooted. Automatic update still failed, stuck at the download process:

sfc /scannow

  `DISM /Online /Cleanup-Image /CheckHealth`
  
     `DISM /Online /Cleanup-Image /ScanHealth`
     
        `DISM /Online /Cleanup-Image /RestoreHealth`
        
        Executed commands to reset all update-related components. After successful execution and reboot, automatic update still failed, stuck at the download process:
        
        text
        

PowerShell

net stop wuauserv  
net stop bits  
net stop cryptSvc  
net stop msiserver  
net stop appidsvc  
net stop sppsvc  
Remove-Item "C:\Windows\SoftwareDistribution" -Recurse -Force -ErrorAction SilentlyContinue  
Remove-Item "C:\Windows\System32\catroot2" -Recurse -Force -ErrorAction SilentlyContinue  
sc.exe sdset bits "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)"  
sc.exe sdset wuauserv "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)"  
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  
net start cryptSvc  
net start bits  
net start msiserver  
net start wuauserv  
net start appidsvc  
net start sppsvc  

Canceled the last automatic update, executed the following commands, rebooted, and performed a manual update. After installation and reboot, the server showed "Fail":

text

PowerShell

Set-Service -Name wuauserv -StartupType Disabled  
net stop wuauserv  
net stop bits  
net stop cryptSvc  
Remove-Item "C:\Windows\SoftwareDistribution" -Recurse -Force -ErrorAction SilentlyContinue  
Remove-Item "C:\Windows\System32\catroot2" -Recurse -Force -ErrorAction SilentlyContinue  

Executed the reset component commands again, along with system repair and reboot. After reboot, manually installed the update, then rebooted the server. The server showed "Fail":

text

PowerShell

net stop wuauserv  
net stop bits  
net stop cryptSvc  
net stop msiserver  
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old  
ren C:\Windows\System32\catroot2 Catroot2.old  
DISM /Online /Cleanup-Image /CheckHealth  
DISM /Online /Cleanup-Image /RestoreHealth  

Performed another in-place upgrade with data retention using the Windows 2016 ISO. Attempted automatic and manual updates again, but both failed.

Phase 3: In-Place Upgrade with Data Retention Using Windows 2019 ISO

After the upgrade and reboot, the process was stuck at 52%.

The upgrade failed. After reboot, the server remained on Windows 2016.

Executed the following steps, then attempted the upgrade again. After reboot, the process was still stuck at 52%:

In System Configuration, hid all Microsoft services and disabled them.

  Executed:
  
  text
  

Dockerfile

DISM /Online /Cleanup-Image /CheckHealth  
DISM /Online /Cleanup-Image /RestoreHealth  
sfc /scannow  
chkdsk C: /f  

Current Status: The machine is now back to the reinstalled Windows 2016 version, and the Windows Update for November is still stuck at download 95%.

OS: Windows Server 2016 Datacenter Issue: Windows Update cannot update automatically, stuck at download 95%, error code: 0X800f0922

Attempted Solutions:

Phase 1: Original Server

Manually installed the update package. After installation and reboot, the update status showed "Fail."

Executed the following commands, but they failed:

sfc /scannow

  `DISM /Online /Cleanup-Image /RestoreHealth`
  
     `DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM /LimitAccess`
     

Phase 2: In-Place Upgrade with Data Retention Using Windows 2016 ISO

After the reinstallation, executed Windows Update automatically. The October update failed, stuck at the download process.

Manually installed the update. After installation and reboot, the server showed "Fail."

Executed the following commands successfully, then rebooted. Automatic update still failed, stuck at the download process:

sfc /scannow

  `DISM /Online /Cleanup-Image /CheckHealth`
  
     `DISM /Online /Cleanup-Image /ScanHealth`
     
        `DISM /Online /Cleanup-Image /RestoreHealth`
        
        Executed  commands to reset all update-related components. After successful  execution and reboot, automatic update still failed, stuck at the  download process:
        
        text
        

PowerShell

net stop wuauserv  
net stop bits  
net stop cryptSvc  
net stop msiserver  
net stop appidsvc  
net stop sppsvc  
Remove-Item "C:\Windows\SoftwareDistribution" -Recurse -Force -ErrorAction SilentlyContinue  
Remove-Item "C:\Windows\System32\catroot2" -Recurse -Force -ErrorAction SilentlyContinue  
sc.exe sdset bits "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)"  
sc.exe sdset wuauserv "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)"  
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  
net start cryptSvc  
net start bits  
net start msiserver  
net start wuauserv  
net start appidsvc  
net start sppsvc  

Canceled the last automatic update, executed the following commands, rebooted, and performed a manual update. After installation and reboot, the server showed "Fail":

text

PowerShell

Set-Service -Name wuauserv -StartupType Disabled  
net stop wuauserv  
net stop bits  
net stop cryptSvc  
Remove-Item "C:\Windows\SoftwareDistribution" -Recurse -Force -ErrorAction SilentlyContinue  
Remove-Item "C:\Windows\System32\catroot2" -Recurse -Force -ErrorAction SilentlyContinue  

Executed the reset component commands again, along with system repair and reboot. After reboot, manually installed the update, then rebooted the server. The server showed "Fail":

text

PowerShell

net stop wuauserv  
net stop bits  
net stop cryptSvc  
net stop msiserver  
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old  
ren C:\Windows\System32\catroot2 Catroot2.old  
DISM /Online /Cleanup-Image /CheckHealth  
DISM /Online /Cleanup-Image /RestoreHealth  

Performed another in-place upgrade with data retention using the Windows 2016 ISO. Attempted automatic and manual updates again, but both failed.

Phase 3: In-Place Upgrade with Data Retention Using Windows 2019 ISO

After the upgrade and reboot, the process was stuck at 52%.

The upgrade failed. After reboot, the server remained on Windows 2016.

Executed the following steps, then attempted the upgrade again. After reboot, the process was still stuck at 52%:

In System Configuration, hid all Microsoft services and disabled them

DISM /Online /Cleanup-Image /CheckHealth  
DISM /Online /Cleanup-Image /RestoreHealth  
sfc /scannow  
chkdsk C: /f  

Current Status: The server is now back to the reinstalled Windows 2016 version, and the Windows Update for 2025-11 Cumulative Update for Windows Server 2016 for x64-based Systems (KB5068864). is still stuck at download 95%. Windows Defender cannot start which error code is 0x800705b4

Windows for business | Windows Server | Devices and deployment | Install Windows updates, features, or roles
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Q&A Assist
    2025-11-21T06:30:59.3433333+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    To address the issue of Windows Server 2016 Datacenter being stuck at 95% during the update download, you can try the following steps:

    1. Check Windows Services: Ensure that the necessary services for Windows Update are running. You can do this by executing the following commands in an elevated command prompt:
         net start wuauserv
         net start bits
         net start cryptSvc
         net start msiserver
      
    2. Repair Windows Update Components: Since you've already attempted to reset the update components, ensure that you have removed the SoftwareDistribution and catroot2 folders correctly. You can do this again with:
         net stop wuauserv
         net stop bits
         net stop cryptSvc
         net stop msiserver
         Remove-Item "C:\Windows\SoftwareDistribution" -Recurse -Force -ErrorAction SilentlyContinue
         Remove-Item "C:\Windows\System32\catroot2" -Recurse -Force -ErrorAction SilentlyContinue
         net start wuauserv
         net start bits
         net start cryptSvc
         net start msiserver
      
    3. Use DISM and SFC: Run the following commands to repair the system image and check for corrupted files:
         DISM /Online /Cleanup-Image /RestoreHealth
         sfc /scannow
      
      Make sure to run these commands in an elevated command prompt.
    4. Check for Disk Errors: Run a disk check to ensure there are no underlying disk issues:
         chkdsk C: /f
      
    5. Manual Installation of Updates: If the automatic update continues to fail, consider manually downloading the update from the Microsoft Update Catalog using the KB number of the update that is failing.
    6. Windows Defender Issue: The error code 0x800705b4 indicates that the Windows Defender service is not starting. You may need to check the service settings and ensure it is set to automatic. You can do this by running:
         Set-Service -Name WinDefend -StartupType Automatic
         net start WinDefend
      

    If these steps do not resolve the issue, further investigation into the CBS.log file may be necessary to identify specific errors related to the update process.


    References:


  2. Henry Mai 7,020 Reputation points Independent Advisor
    2025-11-21T08:34:05.9566667+00:00

    Hello Ping, I am Henry and I want to help you with your issue.

    I reviewed your case, your history thread on 11 Nov, and CBS logs along with the troubleshooting steps you’ve tried. Here’s my analysis:

    • CBS logs:
    2025-11-06 23:34:22, Error - Overlap: Duplicate ownership for directory ... Microsoft-Windows-IIS-Metabase.Resources
    2025-11-06 23:34:28, Error - Overlap: Duplicate ownership ... Microsoft-Windows-IME-Korean-Core
    
    • The download stalls at 95% during in‑place upgrade because of duplicate ownership errors in the Component Store (WinSxS). IIS and IME components both claim the same directories, causing logical corruption.
    • During the staging phase, Windows Update checks file ownership, encounters these duplicates, and hangs indefinitely.
    • The in‑place upgrade failed because it migrated the corrupted ownership map into the new installation.
    • The error code 0x800f0922 is not about the download itself. On Server 2016, it usually means:
      • AppReadiness service timed out
      • System Reserved Partition is full.

    My important recommendation is do not use the Windows Update button in Settings, as it relies on the corrupted logic. Please follow the corrective steps in order.

    Step 1. Stop the background processes currently stuck on the "Overlap" errors. Open PowerShell as Administrator:

    Stop-Service -Name wuauserv -Force
    Stop-Service -Name bits -Force
    Stop-Service -Name cryptsvc -Force
    Stop-Service -Name trustedinstaller -Force
    Stop-Service -Name appreadiness -Force
    

    Step 2. Remove the update that is currently "stuck" in the staging phase.

    1. Run in PowerShell: Dism /english /online /get-packages /format:table | findstr /i "Staged"
      1. If any packages appear, remove them (replace PackageName with the actual name found): Dism /online /remove-package /PackageName:Package_for_RollupFix~...

    Step 3. This repairs the specific cause of the boot failure on Server 2016.

    1. Find the GUID:
            reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\PI\SecureBootEncodeUEFI" /v ID
      
      1. Delete the Corrupted Keys:
              reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Maintenance\{GUID}" /f
              reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Plain\{GUID}" /f
              reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks\{GUID}" /f
              reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\PI\SecureBootEncodeUEFI" /f
        

    Step 4. Since standard repairs failed, force-remove the old component versions that are causing the "Duplicate Ownership" errors in your CBS log. You can refer this relevant document. Run in Command Prompt (Admin):

    • DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase

    Step 5. Server 2016 cannot process 2025 updates without a modern Servicing Stack. Please manually install the Latest Servicing Stack Update (SSU) for Server 2016 at here. Then restart the Server. (This is critical to load the new installation engine).

    Step 6. After the server restarts, please log in and run the "Stop Services" commands from Step 1 again to ensure the system is unlocked. Then Open Services.msc, find App Readiness, and set it to Disabled.

    Step 7. Since the "Automatic Update" agent is corrupted (stuck at 95%), we can try to bypass it entirely using DISM.

    1. Download: Get the Cumulative Update .msu manually.
    2. Extract: Do not double-click the .msu. Extract the inner CAB file.
            md C:\Update
            expand -f:* "C:\Users\Admin\Downloads\update.msu" C:\Update
      
    3. Install via DISM: dism /online /add-package /packagepath:C:\Update\Windows10.0-KBxxxxxxx-x64.cab
    4. Note: Watch the progress bar here. If it fails here, it will give a real error code immediately, not just hang.

    For steps 2 and 3, I referenced the official Microsoft documentation stating: Error 0x800f0922 is caused by a corrupted scheduled task when installing Windows updates

    I hope this information and these keywords help point you in the right direction for your troubleshooting. Let me know how it goes, and if this answer helps, feel free to hit “Accept Answer” so others can benefit too


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.