https://www.sikich.com

Windows update troubleshooting: how to resolve corrupt drivers and failed updates 

INSIGHT 3 min read

One of the more frustrating aspects of maintaining Microsoft Windows PCs is when Windows Updates fail without a clear reason. Every IT professional has run into this issue at some point, and it can quickly become a time-sink of reboots, log review, and command-line digging. After working through another challenging case, I’ve compiled a list of effective troubleshooting steps and lessons learned that might save you time the next time Windows updates refuse to install. 

Start with the basics 

Begin with the standard checks: 

  • Reboot the system.   
  • Ensure there’s adequate free disk space.   
  • Clear the Windows Update cache.   
  • Verify that all Windows Update services are running properly.   
  • Run sfc /scannow to check for system file integrity.   
  • Run dism /online /cleanup-image /checkhealth. If corruption is detected, use dism /online /cleanup-image /restorehealth.   
  • Manually download and install the failing update from the Microsoft Update Catalog.   

If none of these resolve the problem, you will need to dig deeper. 

When basic tools aren’t enough 

In one particularly complex case, repeated failures pointed toward a corrupt driver or a duplicate language pack. Using dism /online /get-packages | findstr LanguagePack, I located and removed the extra language pack with dism /online /remove-package /packagename:<PackageName>

Unfortunately, that wasn’t the full fix. Reviewing the CBS.log revealed messages like “Does not have a winner,” meaning there were multiple versions of the same file confusing Windows about which one to update.  

To investigate further, I ran dism /online /Get-packages /Format:Table >a.txt & a.txt

This showed one update package stuck in a “staged” state while showing me that other cumulative updates were never installed. Removing the staged package resolved the original error message I received, but it did not resolve the issue of the PC not installing updates. 

The final solution 

After sending logs to Microsoft, they identified additional corrupt driver files. Their support tech suggested running RUNDLL32.exe pnpclean.dll,RunDLL_PnpClean /DEVICES /DRIVERS /MAXCLEAN

This command cleans up old or unused device and driver packages. Once completed, the Windows Update process finally ran successfully. 

Final thoughts 

Windows Update failures can stem from a wide range of causes from missing files, corrupt drivers, corrupt operating system components, or duplicate packages. A structured approach, combined with tools like DISM, SFC, and driver cleanup utilities, can often uncover the root cause and save hours of feeling like you’re chasing your tail. 

Author

Garrett Dycus is a Senior Network Consultant at Sikich, delivering technology solutions to help clients achieve their business objectives. With over 20 years of experience and a Bachelor of Science in Computer Science from the University of Mary Hardin-Baylor, he specializes in server infrastructure, networking, and Microsoft Cloud technologies, providing expertise and trusted advisory to drive impactful results.