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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s