Windows Update runs forever and none of the standard solutions fix it

3

I recently did a fresh install of Windows 7 Ultimate x64 on my laptop, and Windows Update successfully updated the system to SP1. Now, however, Windows Update runs forever without finding any updates. It ran for almost 24 hours the first time I ran it after installing the Service Pack, but the search bar just scrolls continuously without finding any updates.

Here's what I've attempted so far.

First attempt

First, I followed the instructions in KB 971058 and downloaded the automatic "FixIt" tool `WindowsUpdateDiagnostic.diagcab'. I run this as administrator and received this message:

FixIt error

The error code Windows Update error 0x80070005 is an "Access Denied" error, according to this page. What's odd is that if I click View Detailed Information, the tool says the error was corrected; see the image below.

Detailed FixIt error

Second attempt

I rebooted and ran Windows Update again. After 6 hours with no luck (the search bar is still running) I cancelled it. Just to be safe, I ran the System File Checker from an elevated command prompt to see if there were any corrupted files:

sfc /scannow

but it said "Windows Resource Protection did not find any integrity violations" so all looks normal on that front.

Third attempt

Another Microsoft link suggested another FixIt tool, so I downloaded that ("MicrosoftFixit50123.msi") but it's just a generic Fixit tool, apparently. I run the MSI and it shows me this:

Generic FixIt results dialogue

The buttons lead to generic Microsoft links, but nothing specific to Windows update.

Fourth attempt

After yet another reboot and yet another hour of Windows not completing its search for updates, I figured it was time to follow the manual instructions in KB 971058. I opened an elevated command prompt and followed these steps:

  1. Stop the BITS service, the Windows Update service, and the Cryptographic service.

    net stop bits
    net stop wuauserv
    net stop appidsvc
    net stop cryptsvc
    

    The BITS and appidsvc weren't running (maybe that's the problem?) but the other two were stopped successfully.

  2. Delete the qmgr*.dat files:

    Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
    

    No problems in this step.

  3. Rename the software distribution folder backup copies

    Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
    Ren %systemroot%\system32\catroot2 catroot2.bak
    
  4. Reset the BITS service and the Windows Update service to the default security descriptor.

    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)
    

    Both of these commands returned [SC] SetServiceObjectSecurity SUCCESS.

  5. Change to the system32 directory and reregister the BITS and Windows Update files

    regsvr32.exe atl.dll
    regsvr32.exe urlmon.dll
    regsvr32.exe mshtml.dll       *
    regsvr32.exe shdocvw.dll      *
    regsvr32.exe browseui.dll     *
    regsvr32.exe jscript.dll
    regsvr32.exe vbscript.dll
    regsvr32.exe scrrun.dll
    regsvr32.exe msxml.dll        **
    regsvr32.exe msxml3.dll
    regsvr32.exe msxml6.dll
    regsvr32.exe actxprxy.dll
    regsvr32.exe softpub.dll
    regsvr32.exe wintrust.dll
    regsvr32.exe dssenh.dll
    regsvr32.exe rsaenh.dll
    regsvr32.exe gpkcsp.dll       **
    regsvr32.exe sccbase.dll      **
    regsvr32.exe slbcsp.dll       **
    regsvr32.exe cryptdlg.dll
    regsvr32.exe oleaut32.dll
    regsvr32.exe ole32.dll
    regsvr32.exe shell32.dll
    regsvr32.exe initpki.dll      **
    regsvr32.exe wuapi.dll     
    regsvr32.exe wuaueng.dll
    regsvr32.exe wuaueng1.dll     **
    regsvr32.exe wucltui.dll      **
    regsvr32.exe wups.dll
    regsvr32.exe wups2.dll
    regsvr32.exe wuweb.dll        **
    regsvr32.exe qmgr.dll         *
    regsvr32.exe qmgrprxy.dll
    regsvr32.exe wucltux.dll
    regsvr32.exe muweb.dll        **
    regsvr32.exe wuwebv.dll
    

    Commands marked with one asterisk failed with this error:

    The module "module_name.dll" was loaded but the entry-point DllRegisterServer was not found. Make sure that "module_name.dll" is a valid DLL or OCX file and then try again.

    Commands marked with two asterisks failed with this error:

    The module "module_name.dll" failed to load. Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files. The specified module could not be found.

  6. Reset Winsock

    netsh winsock reset
    

    This command outputs

    Successfully reset the Winsock Catalog. You must restart the computer in order to complete the reset.

    so I rebooted. After the reboot, I ran the next command on the list:

    netsh winhttp reset proxy
    
  7. Then I restarted all of the services that were stopped before:

    net start bits
    net start wuauserv
    net start appidsvc
    net start cryptsvc
    

I rebooted again and ran Windows Update. Same result. I let it run for two hours this time, but it kept searching for updates, so I posted here.

I feel like I've tried everything. The Windows disk I used to install is genuine, and I've used it to do fresh installs on this laptop before without errors like these. What else can I try? Pardon the commentary, but after all this I'm at my wits' end with Windows Update and I'm almost completely out of patience.

I have also run a full system malware scan using Microsoft Security Essentials, which turned up nothing, so it's unlikely this is malware-related.

windows-7
windows
windows-update
asked on Super User Apr 23, 2016 by Michael A • edited Apr 23, 2016 by DavidPostill

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0