Article ID: 192535
Article Last Modified on 10/3/2005
APPLIES TO
- Microsoft Foundation Class Library 4.2, when used with:
- Microsoft Visual C++ 5.0 Enterprise Edition
- Microsoft Visual C++ 5.0 Professional Edition
- Microsoft Visual C++ 6.0 Enterprise Edition
- Microsoft Visual C++ 6.0 Professional Edition
- Microsoft Visual C++ 6.0 Standard Edition
This article was previously published under Q192535
SYMPTOMS
Regsvr32 may fail when you register a debug build of an MFC Server, and you may receive an error message that is similar to the following:
The ordinal 3300 could not be located in the dynamic link library
MFCO42D.DLL.
The ordinal number may vary.
If you click
OK, you receive the following error message:
RegSvr32: LoadLibrary("<server name>") failed.
GetLastError returns 0x000000b6.
CAUSE
This problem occurs because the Debug MFC DLLs are not binary-compatible
between Visual C++ 5.0 and Visual C++ 6.0. If you have written a debug
build DLL in Visual C++ 5.0 and then you try to register the DLL on a computer that
has Visual C++ 6.0 installed, you receive the error message.
WORKAROUND
The following are three possible workarounds:
- Build a release version of the server in Visual C++ 5.0. Then, run the server on
the target Visual C++ 6.0 computer.
- Rebuild the server by using Visual C++ 6.0.
- Copy the MFC debug DLLs from Visual C++ 5.0 to the same directory on the
target computer as the MFC ActiveX server.
Warning This workaround is for diagnostic purposes only
because redistribution violates the Visual C++ license agreement.
STATUS
This behavior is by design.
REFERENCES
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
190487
Various errors occur when you run an MFC debug application with the MFC debug DLLs of another version
Additional query words: 3304
Keywords: kbtshoot kbbug kbdebug kbprb kbfaq KB192535