Yesterday, after two of my family members in turns tried to fix a video card driver installation error for 2 – 3 hours, they couldn’t get it to work. Trying it over and over, each time it stopped the progress bar somewhere before the middle, to finally throw up this screen:
Yeah, this is exactly the moment where you would freak and pull out your hair; especially to plan on finishing the day with some casual gaming. So, their next step was to fire up the device manager in an attempt to manually update the drivers by feeding the devices with the directory full of INF files. But apparently, the devices weren’t so hungry:
Attempting other fixes they found on the internet didn’t really work.
Time to call in a Super User to save the day…
The first thing I went to do was check the event and driver logs, but they weren’t really helpful. None of them gave me a root cause, they were as vague as the installer itself; or maybe slightly less vague, one log succeeded to tell me that it failed installing
null but that doesn’t say anything to me…
As we approach further we need something capable of telling us exactly what the installer is doing, for that we can use Process Monitor. If you don’t know it yet, check out this awesome talk which explains troubleshooting some problems using this tool into detail.
So, this tool gave me quite some
ACCESS DENIED status codes in the DriverStore, as well as one in the registry. So, I went to fix the permissions on the NVIDIA key in the registry but found it not a wise approach to mess around with the permissions of the DriverStore. These permissions should be right by default, which they actually are when confirming them. So, this allows me to conclude that the NVIDIA setup has the wrong rights, even though it was launched using administrator rights.
Then I didn’t bother any longer and solved this installation problem impersonating the SYSTEM user:
psexec -i -s "C:\Full\Path\To\The\NVIDIA\setup.exe"
-i makes the process execution interactive, so I can interact with the installer, whereas parameter
-s launches the process under the SYSTEM account.
TIL that if you can’t beat the permissions, you should just skip them!