A common sight when trying to get older software to work with Windows Vista is having to manually register DLL/OCX files using Regsvr32. There has been countless times where I have been working along in a piece of software and then all of a sudden it gives me an error about a DLL that it can’t access. The typical response to this is to run regsvr32 dllname.dll to register the DLL.
Occasionally, I run into Error 0x80004005 when registering these files. This error sounds highly complicated, but what it all boils down to is a rights issue. This error basically means that you don’t have the permissions to register the file you are trying to register.
This usually brings about the questions, “Wait! I’m logged in as an administrator?!”
Under previous versions of Windows, being logged in as an administrator is enough, but in Windows Vista there is a little thing called User Account Control (UAC) that prevents programs from running administrative tasks without first specifying that they are running as the administrator. This applies for the command prompt the same as it does for any other program. This being the case, right-click on the command prompt icon, and select “Run as Administrator”, and then try to register your DLL. This is a mistake that is usually frustrating enough that, once you figure it out, you won’t make too often.
Chris Sanders is a network consultant for KeeFORCE, one of the most popular network consulting firms in western Kentucky. Chris is the author of the book Practical Packet Analysis as well as several technical articles. His personal website at www.chrissanders.org contains a great deal of information, articles, and guides related to network administration, network security, packet analysis, and general information technology.