cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
cbarlow
Level 7

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
Labels (1)
0 Kudos
(3) Replies
KathyMorey
Level 10

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.
0 Kudos
MGarrett
Level 6

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.
0 Kudos
cbarlow
Level 7

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.
0 Kudos