Registry setting may block nVidia driver updates

Not completely development related, this post, but since I am developing on a dual full hd monitor display setup, I like to keep my (nvidia) graphics card drivers up to date. I was unable however to update to the latest drivers, installation would say “failed” everytime.

I have been through all the usual hoops including performing a ‘clean installation’, completely deleting all drivers with Driver sweeper, installing from safe mode, even a rather ugly trick obtaining ownership of some folders and installing as ‘System’ account using PsExec. It would all just result in a message that installation had failed, without explanation. So I would not even know where to look for a solution.

Let’s see if we can do something about that.

A nVidia support page sported a download of two .reg files that would enable and disable logging during installation. Sifting through 3 Mb of text I noted that the failure was due to a COM Exception “could not find module” while installing the nVidia control panel app that is part of the driver.

Registering DLL "C:\Program Files\NVIDIA Corporation\Display\nvxdapix.dll".
COM error: Exception {0x8007007e - Kan opgegeven module niet vinden.}.
COM error: Exception {0x8007007e - Kan opgegeven module niet vinden.; File: NVCommonPhaseImpl.h; Line: 200; Action failed forregisterDLLs-}.

This at least gave some pointers to google some more. There was one suggestion to perform an upgrade install of Windows 7 because some depencies might be missing. Well, I am not ready to do that any time soon on my dev machine, since that would mean at least a week of downtime reinstalling everything. But a short forum post by “celpas” on Tom’s Hardware (I could not find the source celpas is referring to so I’ll give him the credit) had a better suggestion: Open the registry and look for the key [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]. Then see if you have a DWORD-value “CWDIllegalInDLLSearch” with value “ffffffff“.

I had.

I removed it.

I launched the nVidia installer for the nth time.

The installation succeeded.

As per this explanation from Microsoft, the registry key is meant to include or exclude the current working dir from the search path when looking for dll’s to load. This provides an extra security layer, but having this set, somehow blocks the nVidia control panel applet installer. BTW, I re-enabled it after the succesful installation. I just need to remember to read my own blog, next time I try to update the drivers.

PS. Coming back to another somewhat sideshow post on this blog, about Silverlight freezing Firefox because the system path is not updated correctly if Silverlight is updated: turns out you don’t need that path at all. Instead of fixing it everytime Silverlight received a windows update, I now simply removed it and it still works like a charm.

Advertenties

Over Shiftkey
I am Maarten, owner of and chief software developer for Shiftkey software development from The Netherlands. I will be writing mainly about things I run into when programming in C# or Delphi.

One Response to Registry setting may block nVidia driver updates

  1. Pingback: Removing “Synchronisation of shared folders” from the explorer folder context menu | Shiftkey Software Blog

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s

%d bloggers liken dit: