Search

Visual Studio 2005 Service Pack 1 did NOT update Microsoft_VC80 redistributable. by Jiaquan

Resolved
as Won't Fix Help for as Won't Fix

11
Sign in to vote
0
Sign in to vote
Sign in
to vote
Type: Bug
ID: 260355
Opened: 2/27/2007 9:55:41 AM
Access Restriction: Public
3
Workaround(s)
5
User(s) can reproduce this bug
I've successfully patched my Visual Studio 2005 Team Edition for Software Developer to Service Pack 1 (official, not beta). I can build all my VS2005 projects and run the built binaries on my development box. Distributing these binaries along with the VC80 runtime merge modules caused the application fail to run on other machines. This turned out these binaries requires 8.0.50727.762 version of Microsoft_VC80, where the merge modules in the directories are still 8.0.50727.42. VS2005 SP1 did NOT update any of these merge modules. If the merge module file will not work on the VS2005 SP1, it should be either updated or deleted.

Steve Cheng from Microsoft MSDN Online Support suggested to deploy vcredist_*.exe from VS2005 as "pre-requisites". This would be inconvenient to people uses third party Windows Installer builder. This was done in a snap, bug free, but now one must write code to check the pre-requisites are met. A lot of testings are needed. On the other hand, merge module is the most recommended way by Microsoft for distributing application with VC80 runtime.

Steve didn't have definite answer on when Microsoft will make those files available, and suggested me to submit this feedback.

- Jiaquan Ma
Details (expand)
Product Language
English

Version

Visual Studio 2005 (All Products and Editions) Service Pack 1
Operating System
Windows XP Professional
Operating System Language
English
Steps to Reproduce
1. Build the Windows Installer package with binaries built with VS2005 SP1, along with the necessary Microsoft_VC80 merge modules in "C:\Program Files\Common Files\Merge Modules".

2. Install the installer package to clean machine. By clean, I meant it doesn't have Microsoft VC80 DLLs with version 8.0.50727.762 pre-installed.

3. Launch the application or register DLLs that can be self-registered on the clean machine.
Actual Results
1. Launching the executable, I received the following message:

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

2. Performing self-registration DLL pops up error message:

LoadLibrary("<path_to_dll>") failed - This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
Expected Results
It should just work before upgrading to VS2005 SP1.
TAP Code (if applicable)
 
      You can indicate your satisfaction with how Microsoft handled this issue by completing this quick 3 question survey. [Details]

 

File Attachments
0 attachments
Sign in to post a comment.
Posted by Sheng Jiang[MVP] on 4/12/2007 at 2:50 PM
Check out Nikola Dudar's WebLog "A solution to two references to different versions of CRT, MFC, ATL in one application manifest file" http://blogs.msdn.com/nikolad/archive/2007/03/29/a-solution-to-two-references-to-different-versions-of-crt-mfc-atl-in-one-application-manifest-file.aspx

Also, after you install Windows Vista SDK, apply SP1 again since Windows Vista SDK will install the RTM version of merge modules.
Posted by Microsoft on 6/7/2007 at 3:06 PM
Hi,

Thank you for reporting this issue. VS2005 SP1 attempts to update all VC++ redistributable MSMs in \Program Files\Common Files\Merge Modules. However it may fail to do so if timestamp of MSM files have been changed. For example, if you have used Orca to view content of RTM version of MSMs, Orca can modify timestamp of MSM when it opens it, even when no edits are made to content. Alternatively, if VS2005 SP1 installer has failed for another reason, it may never reached a point when it installs VC MSMs files. Check installation log for SP1 and repeat install. Uninstalling VS2005 SP1, repairing or re-installing VS2005 and then installing VS2005 SP1 again fixes all problems including non updated MSMs.

Thanks,
Nikola Dudar
Visual C++ Team