8

I'm installing a custom application on a brand new Windows 2003 Server. A couple of DLLs need to be added and registered, and I have copied them to the server in the C:\WINDOWS\System32 folder -- which is where they have always been when we've had the application running on Windows NT and 2000.

However, when I try to register them using:

regsvr32 c:\windows\system32\nameoflibrary.dll

It gives back:

LoadLibrary("c:\windows\system32\nameoflibrary.dll") failed - 
The specified module could not be found.

The DLL is however right there. I can see it. If I copy the path to Windows Explorer and attempt to run it, it tells me that I can't run a DLL, so I know it's there. One minor complication is that the DLLs were built in VB5 -- but the VB5 runtime is installed on the server, so this shouldn't be a problem.

Any ideas?

Mark Henderson
  • 68,316
  • 31
  • 175
  • 255
Cyberherbalist
  • 337
  • 1
  • 4
  • 14

2 Answers2

7

Jim B. is probably correct. Get DependencyWalker and load {nameoflibrary.dll} -- it will show you which dependent DLL is missing.

DougN
  • 670
  • 2
  • 7
  • 16
6

It could be that a dependant module is missing. You need to look at the getlasterror code to determine why the module was not found.

Jim B
  • 23,938
  • 4
  • 35
  • 58
  • Yep. A module that was supposed to be installed by the main application didn't get installed. Once this was corrected, the two DLLs registered correctly. – Cyberherbalist Dec 05 '11 at 23:34