>Using VFP 6, sp3 I build a singlethreaded DLL (xyz.dll) on one machine (development machine). I try to register the DLL on another machine (production machine) which already has VFP sp3 installed. I get the following error message when I try to register it with REGSVR32
>
>"XYZ.DLL was loaded, but the DLLRegisterServer entry point was not found. DLLRegisterServer may not be exported or a corrupt version of XYZ.DLL may be in memory. Consider using PView to detect and remove it."
>
>Has anyone experienced this?
The error usually indicates that the .DLL header that defines the basic normal (non-COM) entrypoints can't be found, or that a copy of the .DLL is already loaded. I'd try 3 things:
(1) Copy REGSVR32.EXE off a machine that will register the .DLL onto the problem machine. It's possible that a very old version of REGSVR32 is on the problem system, or the copy is corrupted.
(2) Go to the FAQ and read Paul Tatavu's FAQ entry on direct registration of COM components without REGSVR32; implement his code and see if you can register the object using API calls. If it works, again the copy of REGSVR32 is suspect.
(3) Get a registry cleaning tool and run it against the system registry - it may have reached it's maximum size or may have some internal references interfering with the registration data being written properly. MS offered one as an unsupported app, called REGCLEAN - at one point, it was removed because it sometimes damaged a registry accidentally; the bad version was withdrawn and a later version released, but I do not know if there is a version available currently. Most of the utility suites like Norton and McAfee have registry repair and cleaning utilities, and Win98's System Info tool includes a Registry Checker.
>
>If i try to register it on the development machine with REGSVR32 it registers fine, but on any other machine I get the above error.
>
>I copied the VBR and TLB files with the DLL.