Not Able to Install when Newer Version of Prerequisites are Present

I have a c# solution that includes a c++ project accessed as a COM object. I am building this in VS 2010, and have created a Windows Installer to install the program. The application is 64 bit, and runs fine on most machines. However, I want to add "Visual C++ 2010 Runtime Libraries (x64)" as a prerequisite, so I can be sure everything required is available on the system.

If I make the change, every time I try installing on my test system, where it worked before, I am told that Visual C++ needs to be installed. I click the Install button, say yes to the UAC, and get an error saying "A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine." I am then given a message that "An error occured while installing system components... Setup cannot continue until all system components have been successfully installed."

Component Visual C++ 2010 Runtime Libraries (x64) has failed to install with the following error message:
"Asia"

The following components failed to install:
- Visual C++ 2010 Runtime Libraries (x64) 

I find it odd that I can't install the application if a newer version of C++ is already on the computer.

One additional bit of information: to get the msi file to work with the 64 bit installation, I need to edit it with Orca, go to Binary -> InstallUtil _> and change the field to the 64 bit version of the installUtilLib.dll. Since prerequisite checking happens in the exe file, before loading the msi, I don't think this would make a difference, but thought I would add it in. If I do not make the change, the installer crashes immediately.

If anyone knows what I need to do to either get the latest version of Visual C++ to install, or to accept a later version as fulfilling the requirements, I would greatly appreciate the guidance.

Currently testing on Windows 7 x64 system.

Answers


Steps to solve this can be found here, and product values can be found here.

Below are the basic steps that I followed:

Edit

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x64\product.xml

Find

<InstallChecks>
    <MsiProductCheck Property="VCRedistInstalled" Product="{6EE91C1A-A2E7-38CD-AEBB-3B900A4D8868}"/>
</InstallChecks>

Change to

  <InstallChecks>
    <MsiProductCheck Property="VCRedistInstalled" Product="{1D8E6291-B0D5-35EC-8441-6616F567A0F7}"/>
  </InstallChecks>

Need Your Help

Image not saving properly

php image text

This is the link to the project I'm making: http://1-to-n.com/ik/

When Using Dynamic Proxies, how do I access the underlying object's Annotations?

java proxy annotations

When Using Dynamic Proxies, how do I access the underlying object's Annotations?

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.