I'm migrating a VS6.0 solution to VS2005. The solition contains a project that is a C++ dll using MFC. When i compile it I get error PRJ0050: Failed to register output. (from the custom build step - performing registration)
I tried to register the dll from a command prompt using regsvr32, but it fails with no error message at all (no dialog box).
Other DLLs within the solution works fine so whats the difference Oh, the problem child uses MFC.... I checked the DLL with Dependency Walker (depends.exe) and compared it to an old working version from VS6.0
Diffs: The new DLL has dependencies with ' ' to MFC80U.DLL, MSVCR80D.DLL and MSVCP80D.DLL.
The old one refers to e.g. MFC42U.DLL and MSVCP60.DLL
What is really the problem here Are the ' '-files missing or not compatible Can I make it use old dlls or how should I proceed
Any hints are most welcome, I'm stuck.

C++ DLL compile but wont register. Wrong MFC-version?
ms44cn
The FAQ response to "what do all the icons mean" give this answer:
Each view in Dependency Walker has detailed help describing what the icons mean for that view. See the "Module Session Window" section in help for a list of views.
Good Luck!
Charles G.-Marcil
double_detente
I thought that dependency walker was part of Visual Studio and upgraded along with 2005, but I had a very old version. Using a new version and testing (as suggested in the FAQ) to run regsvr32 through dependency walker, I have got som leads.
First some errors from kernel32.dll:
GetProcAddress(0x7C800000 [c:\windows\system32\KERNEL32.DLL], "FlsAlloc") called from "c:\windows\winsxs\x86_microsoft.vc80.debugcrt_1fc8b3b9a1e18e3b_8.0.50215.4652_x-ww_a12cf373\MSVCR80D.DLL" at address 0x1020426A and returned NULL. Error: The specified procedure could not be found (127).
and MSVCRT.DLL:
GetProcAddress(0x77C10000 [c:\windows\system32\MSVCRT.DLL], "_get_terminate") called from "c:\windows\winsxs\x86_microsoft.vc80.debugcrt_1fc8b3b9a1e18e3b_8.0.50215.4652_x-ww_a12cf373\MSVCR80D.DLL" at address 0x10205D56 and returned NULL. Error: The specified procedure could not be found (127).
But I don't know if that's important...
On the other hand this may be of more importance:.
LoadLibraryExW("C:\SA300\bin_ud\Calibration.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned NULL. Error: Invalid access to memory location (998).
Hm...
I'll report back if I find something useful!
Paul Martin
Any help is very much appreciated.
I am experiencing the exact problem you discussed in this posting, so I was wondering if there was an actual solution.
I know the posting is old, but I am at a loss here
Thanks.
PedroAntonio
How are you registering the dependency on MFC I'd play around with the manifests (try embedding them and that sort of thing).
Of course, if the DLL you are building hooks into Winamp built with a different version of MFC and you are passing MFC objects back and forth, it's obviously not going to work since the objects will have changed in between versions. I'm not familiar with coding for Winamp, so I'm not sure what it is you're passing.
Syva
Any help would be appreciated.
I am experiencing the exact problem you discussed in this posting, so I was wondering if there was an actual solution.
I know the posting is old, but I am at a loss here
Thanks.
SRavi
Any help is very much appreciated.
I am experiencing the exact problem you discussed in this posting, so I was wondering if there was an actual solution.
I know the posting is old, but I am at a loss here
Thanks.
mcclurgj
LoadLibraryExW("C:\SA300\bin_ud\Calibration.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned NULL. Error: Invalid access to memory location (998).
Evidently there is something in the dll that fails upon load. "Invalid access to memory" - it could be anything!! The dll is a WinApp using MFC and COM, hence no DllMain to debug.
The main question is why it doesn't work in VS2005 (Worked fine in 6.0 and 2003) Could it be some project settings kludge There must be areason for this strange behaviour and my guess is some linker stuff..
Ideas anyeone