Error The installation of Microsoft Visual C++ 2005 SP1 Redist appears to have failed

712 Views Asked by At

When we do upgrades we just started getting the error message above. However, if I navigate to the PreReq folder (C:\ProductName\ISSetupPrerequisites\{AAEC4BE2-1C6B-45E0-B33D-0D657A05F292}) and run vcredist_x86.exe and the go to the other prereq folder (C:\ProductName\ISSetupPrerequisites\{8034C99E-3BC0-4E53-BC6E-02E3D8CF5378}) (in this order) it works fine and installs. I assume one of these is for C++ 2005 and one is for the SP1 version, but I'm not sure which is which.

I assume that the first one is for the first version and the second is for the SP1, cause if I install them in the reverse order it fails. Interestingly neither is selected as a pre-req on the Redistributables tab in Installshield. So the problem may be the order in which it's trying to install them. I don't even see C++ 2005 (non-SP1) in the list of Redistributables in IS, but for some reason two vcredist_x86.exe files are included in the release and when run in the right order (outside of the install) they work fine.

So how can I change the order in the installer or just get this to work? I reverted all of the changes in my .ism file to back before this started happening and that hasn't helped.

PS I also posted this question to the InstallShield forum.

1

There are 1 best solutions below

0
On

From my understanding, there is no reason to install both of these VC++ 2005 redistributables. You likely only need the newer one.

Since you say that they are not checked on the Redistributables tab, it means they are likely added automatically by InstallShield at build time. This happens because you have the .NET Scan at Build option set to Dependencies and Properties on some of your components. With this setting, InstallShield scans the component files and tries to add any dependencies needed. If you know what dependencies are needed, you can turn off that setting and then choose the necessary dependencies yourself on the Redistributables (or Prerequisites) tab.

There's nothing magical about these GUIDs - they are just the GUIDs that InstallShield uses in their pre-defined prerequisites:

  • {8034C99E-3BC0-4E53-BC6E-02E3D8CF5378} is VC++ 2005 SP1 (x86)
  • {AAEC4BE2-1C6B-45E0-B33D-0D657A05F292} is VC++ 2005 SP1 MFC Security Update KB2538141 (x86)

If the prerequisite you need is not included with InstallShield, you can define your own prerequisite. Go to Tools / Prerequisite Editor.