• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1450
  • Last Modified:

"The ordinal 6625 (or 6880) could not be located in the dynamic link library MFC42.DLL"

Hi, i've created a software using VC++6.0 and i'm using the InstallShield Express 2.12 to create the installation CD for my software. The CD has been sent to some ppl for testing and a few of them told me they received an error msg of "The ordinal 6625 could not be located in the dynamic link library MFC42.DLL" or  "The ordinal 6880 could not be located in the dynamic link library MFC42.DLL" .. can anyone tell me what does that mean? and how to solve this problem? i've already selected the "MFC" option in the installshield express script..
Can anyone help me to solve this problem? I need help urgently!! (the project deadline is tomorrow)
0
rw8
Asked:
rw8
  • 2
1 Solution
 
JackThorntonCommented:
The problem is that something is trying to call a function that doesn't exist in the version of the library (MFC42.DLL) that exists on the target mahine. You didn't say when the error occured (during install or running of your program).
0
 
JackThorntonCommented:
BTW, when you create a DLL, you can export functions by name or by index, or ordinal number. Some programmers (and/or company policies) dictate hiding as much information as possible about their object code, so (for example) instead of calling function "MySecretEncoderFunction" they call function #42. The ordinals referenced mean numbers associated with specific functions in the DLL.

Again, it sounds like it might be a version problem (did MS release multiple versions of MFC*42*.DLL?), which means you may have to install the most current versions of the redistributable files along with your program. You need to take care when doing this; you must ensure that you do not overwrite newer versions of "system" or highly common files with older versions. InstallShield has the capability of comparing versions and providing UI to the user (the familiar "a newer version of xxxx.xxx exists on your machine - do you want to keep it or install the file from this disk blah blah blah?")

- jack
0
 
jhanceCommented:
The MFC DLL on the target system is out of sync with your MFC build environment.  Usually this is due to having a newer MFC library on your system than the target but it can be the other way around.  Often the MFC DLL will get replaced by a program installation even though the existing one is a later version.

Two things are possible:

1) Statically link your EXE with the MFC libs so that there are no dependencies on the target's MFC DLLs.  This results in a larger EXE file but is often the simplest choice.

2) The MFC DLL is redistributable and so you can include it in the installer for your application.
0
 
rw8Author Commented:
Thanx. The problem comes from a older version of MFC42.DLL was used in the other computers . and were not updated by InstallShield because the user didn't logon as a system administrator. Thanx for your comments.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now