Wednesday, 15 August 2007

Is Windows Vista unable to find its own drivers? Here's your answer.

Sick of Vista not being able to find its own drivers when you plug in something as simple as a USB pendrive? Even sick of the workaround of pointing it to c:\windows\system32\driverstore over and over and over?

Yeah, so was I.

After some rummaging on Google I found this article: Pete & Laura's World: How to fix Vista driver cache

The linked blog entry contains the commands you need to put into a batch file (just create a text file and rename it to something.bat) to rebuild Windows Vista's driver cache, so that it can find its own drivers again. This is the first answer I've seen to the problem that actually works, at least without messing around turning off UAC and such - run the batch file as Administrator, and 2 seconds later your problems are solved. Fantastic.

My understanding of the problem is that badly behaved drivers (usually designed for Windows XP) try to mess with the driver cache, which has changed format in Vista. This corrupts it, and because Microsoft thought it was safe now (with all the UAC protect-you-against-yourself security features they put in) they yanked the routine from XP which used to rebuild it on startup if it was found to be corrupted. As XP drivers sometimes work with Vista - particularly with printers etc - desparate users such as myself force them on and although the hardware works, the driver cache breaks.

In Microsoft's defence they do actually warn you not to install unsigned drivers, with a big red box, but who takes any notice of those when you just want your printer to work?

Apparently Microsoft know about this only too well and are bitterly regretting the decision, and intend to eventually bring out an update to fix it. Seemingly they don't regret it enough to fix it any time soon, though! For those who are tired of waiting, this is a great relief.

Here's that blog entry again - go check out the fix.

0 comments: