views:

16

answers:

1

Recently I ran into trouble when I discovered that vista restricts what can be installed into the system32 directory even though I am the administrator for this computer. It will not allow me to register dll files so I can use programs like wget globally like how programs "nslookup" etc are used. Keeps giving me this error.

Regsvr32: The module "C:\Windows\System32\libeay32.dll" failed to load.
make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.

The specified module could not be found.

Moving the required DLL files to system32 prompts me to confirm administrator privileges are needed to move these files, So I give the permission, copy the files to system32, and run wget to confirm. This is where it tells me it cannot find the DLL's required to run and when using regsvr32 it says it cannot find the entry point so it will not load the DLL asking me if it is a valid DLL or OCX file.

If I leave the DLL's that came with wget in the same folder as wget outsite of system32 they work vice adding them to system32 with the exe it will not work saying it cannot read the those dll files.

Is there a way around this or Do I need to Upgrade to Windows 7 to get away from these problems/restrictions?

+1  A: 
  • Try Dependency Walker on wget.exe and see it it gives you more info about the problem
  • Could it be a permission problem when you copy the file to system32? Make sure your user has read/execute rights to it
  • Put it (and wget.exe) in some other folder that also is in %path%. c:\windows (Ugly) or a custom folder like c:\tools that you add to the system variables.
  • Use a version of wget that does not depend on that dll

Note: regsvr32 is not required for dlls in system32, it only works when the dll exports the DllRegisterServer function

Anders
I used Dependance walker before I did this just didn't add that info. I also added permissions previously as administrator for CMD.exe so I could use wget and also register the DLL files but still gave me the error. I just tried your answer for placing them in ugly C:\windows directory and for some reason it seems to actually work. I wonder why it works there and not in system32. Thanks for the info, Anders! Saved me a lot of time.
Nightforce2