Loading
Urgent Question regarding MFC80.dll and Prerequisites
I have a somewhat urgent question.

 

I have an InstallShield 2008 InstallScript project. The built in InstallShield dependency scanner indicates I need msvcr80.dll, msvcp80.dll, and MFC80.dll. Since IS 2008 doesn't have Objects/Merge Modules available for these files, I included the vcredist_x86.exe in my installation, then I silently run it and delete the file during the OnEnd function, after everything else has been installed. The installation works fine on my machine, but on our test machine, I get the error:

 

"The application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem."

 

I noticed that vcredit_x86.exe did not install MFC80.exe, as I thought it would. Does anyone know if Windows has another download that includes this file that I could link directly to my installation as I've done with the runtime libraries? Also, I read something somewhere about prerequisites, but I don't know much about them, or how to implement them in InstallScript. Could this be my problem. Any help would be greatly appreciated!!

 

Clark

  • I'm a little confused. Did you mean mfc80.dll? I don't know of an mfc80.exe. Did you check the WinSxS directory? I believe vcredist_86.exe installs all of the MFC and C runtime files to this directory.
  • KathyMorey is right. There is no mfc80.exe, but there is an mfc80.dll.

     

    According to

     

    http://www.microsoft.com/downloads/details.aspx?familyid=D5692CE4-ADAD-4000-ABFE-64628A267EF0&displaylang=en and

     

    http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en

     

    vcredist_x86.exe also requires Windows Installer 3.0 or later. Make sure you add this as a prerequisite.

     

    The files are installed to the WinSxS folder for operating systems that support side-by-side installations (WinXP SP2-SP3, Vista, Server 2003, Server 2008) otherwise I think they are installed to system32.
    Expand Post
  • I meant MFC80.dll (not .exe, sorry). Like you, I was under the impression that vcredist_x86.exe would install the MFC 8.0 library, but I ran it on a virtual machine and there was no MFC80.dll to be found in the WinSxS folder. In fact, there was no MFC80.dll anywhere on the machine. The problem was that I was running the vcredist_x86.exe that I obtained from the Microsoft Download center, which happened to be the "Microsoft Visual C++ 2008 redistributable package." This package installs the 8.0 runtime libraries, but not MFC80.dll. To get MFC80.dll, I needed to run the vcredist_x86.exe obtained from my Microsoft Visual Studio 8 folder (C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86). This is the Microsoft Visual C++ 2005 Redistributable. I assumed 2008 was backwards compatible, but I guess not fully.

     

    So I could have run the 2005 redist, (which I tried and it worked), but instead I decided to copy everything from the two folders below (including the .manifest files) and install them directly into the program target directory, which also worked:

     

    C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.MFC

     

    C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT

     

    Thanks everyone for your help.
    Expand Post

Loading
Urgent Question regarding MFC80.dll and Prerequisites