08 May 2007

Solution: Vista asks for drivers when inserting an USB drive

I recently had the following problem: When inserting a USB drive (or any other USB hardware), Windows Vista did not find its drivers automatically and asked me to insert the CD that came with the hardware. The temporary solution was to ask Windows to search in "c:\Windows\System32". However, although Windows did find its drivers there, and installed the device correctly, it did not remember that path and it had to be given every time (and often several times) a new pen drive was inserted.

Now, I finally found the solution and just wanted to write it down in case I (or anyone else) should ever need it again. The solution was found on this page and said:

XP asks for drivers or just want to install new hardware

XP comes with drivers for USB mass storage. If it asks for drivers then it has forgotten where they are...
Start the Registry Editor (Run -> Regedit). Check if under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\Windows\CurrentVersion the item 'DevicePath' points to '%SystemRoot%\inf'. Additional items, separated by semikolons, are ok but '%SystemRoot%\inf' has to be one of them.
Then delete the file C:\WINDOWS\inf\infcache.1 - XP will recreate it.
Another thing to check is if the values 'FactoryPreInstallInProgress' and 'AuditInProgress' are set to '1' under
HKEY_LOCAL_MACHINE\SYSTEM\Setup
and
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Factory
. They should be 0 or non present.


Although this was written for Windows XP, it worked on Vista. Specifically deleting C:\WINDOWS\inf\infcache.1 was what made the trick for me.