Windows 7 x64 SP1 ERROR_NOT_FOUND 0x80070490 Solution

For the last couple weeks I’ve been unable to install SP1 for Windows 7 x64.  From time to time windows update tries to install it, and it always fails with:

ERROR_NOT_FOUND 0x80070490

There are a ton of people online trying to figure out this problem, with a wide range of suggestions and solutions, and quite often people resorting to reinstalling windows.

One users post sent me down a path that allowed me to resolve the problem, but it wasn’t completely clear from his post that what I was doing was working, so I wanted to elaborate on what I did and how I fixed the issue.

First, I did the following without any change:

The post by Ben-IS was the one that got me going in the right direction:

http://social.technet.microsoft.com/Forums/en-US/w7itproinstall/thread/bfb3e5b5-a3bd-4124-b4d6-7fb437ac7b74

The log flies that I frequently checked (and cleared out) were:

C:WindowsLogsCBSCBS.log (filled with stuff when you run the service pack install)

C:WindowsLogsCBSCheckSUR.log  (filled when you run the System Update Readiness Tool)

C:Windowsinfsetupapi.app.log (this one was most important)

When I checked setupapi.app.log I and searched for “failed to” it would find a line like this:

!!!  sto: Failed to find driver update ‘C:WINDOWSWinSxSamd64_usbport.inf_31bf3856ad364e35_6.1.7600.16788_none_19ba59901d3be89eusbport.inf’ in Driver Store. Error = 0x00000490
<<<  Section end 2011/12/17 20:38:02.355
<<<  [Exit status: FAILURE(0x00000490)]

So, given that line, I was then able to register the driver using the command:

pnputil -a C:WINDOWSWinSxSamd64_usbport.inf_31bf3856ad364e35_6.1.7600.16788_none_19ba59901d3be89eusbport.inf

So after doing that, I go back and run the SP install again, and guess what, it fails in exactly the same place with the same error.  Crap.

I had copied the setupapi.app.log out of it’s folder so that a brand new one was created, so I went back and looked for the same “failed to” phrase and quickly found:

!!!  sto: Failed to find driver update ‘C:WINDOWSWinSxSamd64_usb.inf_31bf3856ad364e35_6.1.7600.20934_none_27ac0e3841194697usb.inf’ in Driver Store. Error = 0x00000490
<<<  Section end 2011/12/17 21:42:08.609
<<<  [Exit status: FAILURE(0x00000490)]

But, if you look very closely, you’ll see that this is NOT the same error.  It’s a different error.  The first path ended in “89eusbport.inf” and the 2nd ended in “697usb.inf”.

After an even closer examination of the entire block that contained this error showed that it had gotten 1 line further than last time.  And based on this header information:

>>>  [Uninstall Driver Updates]
>>>  Section start 2011/12/17 22:19:38.189
      cmd: C:WINDOWSservicingTrustedInstaller.exe
     sto: Driver Update Context:
     sto:      Image State        = Specialized
     sto:      Image Architecture = amd64
     sto:      Transaction        = CbsDriversAndPrimitives
     sto:      Driver Updates     = 66

I knew that there were only supposed to be 66 drivers being worked on, and I had made it past 64 of them by this point.  I went back to earlier log files and found that I had only gotten past 63 before.  So I repeated the process a couple more times, each time getting 1 driver further until finally it installed completely.

I spent EASILY 20 hours on this over the past couple weeks.  It was a giant pain in the butt, but I’m really glad to have resolved it because reinstalling everything on my dev laptop would have taken days.

Advertisements

10 months with no posts

10 months ago I moved my blog from my old server to the new one that I’ve been using.  This meant going from Windows 2003 and IIS6 to Windows 2008 R2 and IIS7.5.  I soon found there were a lot of minor problems hosting a dasBlog on an x64/iis7.5 server.  

I got to the point where the site would run, but I still couldn’t get it to save any new posts.  I put it on my todo list to figure it out and the proceed to have 10 months of work and family stuff get in the way of ever getting back to it.

I’ll be posting once again from time to time now that I’ve resolved the issues.