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.


Reacties

Eén reactie op “Registry setting may block nVidia driver updates”

  1. […] But how can that be, it is just sitting there, in the current directory. How comes it cannot find that DLL? Think… think…. I have seen this problem somewhere before… […]

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *