DllRegisterServer failed with error code 0x80004005 when registering Visual Fox Pro

13.2k views Asked by At

When I try to register a Visual FoxPro DLL via an administrator command prompt:

C:\Windows\SysWOW64>regsvr32 C:\_temp\my.dll

on machines that are not mine I get the following error:

The module "c:\_temp\my.DLL" was loaded but the call to DllRegisterServer failed with error code 0x80004005.

For more information about this problem, search online using the error code as a search term.

I am able to register it on mine. How do I get more info as to why it is failing?

Can I use my machine where it does register to back into why it doesn't register on other machines?


I've manually copied MSVCR70.dll into the %systemroot%\SysWOW64 directory on the machine that it won't register on.

I've reviewed the dependencies with https://github.com/lucasg/Dependencies and everything looks good.

dependencies screenshot

2

There are 2 answers

0
spottedmahn On BEST ANSWER

Based upon the comment from Tamar, I searched the registry for this DLL on a machine where I could register it and I found {CLSID}\Foxruntime\VFP7R.DLL.

I installed the VFP 7 Runtime from here (github.com/VFPX/VFPRuntimeInstallers) and I was able to register the DLL

2
DRapp On

I have typically found and associated 0x80004005 with permissions. Did you try to run the DOS prompt AS ADMINISTRATOR?

Also, VFP is ONLY a 32-bit application/dll, it was never 64-bit support, so you probably need the files in System32, not SysWow64.

Permissions might also need to be confirmed for those USING the dll. Ex: you install with admin permissions to drive

C:\SomePath\YourVFP.dll

Make sure the end-user has permissions to this path/file as well.

Aside from the above points... Do you have the VFP SOURCE code / project to build the DLL?