Click here to Skip to main content
13,257,667 members (78,431 online)
Rate this:
Please Sign up or sign in to vote.
See more:
My C++ application was running on windows XP using shared run-time assemblies version 9.0.30729.1. But recently I installed new C++ redistribute package and it deployed newer version of run-time assemblies version 9.0.30729.6161.

In Winsxs\policies directory this new policy file also deployed by new C++ redistribute package.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (c) Microsoft Corporation.  All rights reserved. -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32-policy" name="policy.9.0.Microsoft.VC90.ATL" version="9.0.30729.6161" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>
<assemblyIdentity type="win32" name="Microsoft.VC90.ATL" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>
<bindingRedirect  oldVersion="9.0.20718.0-9.0.21022.8" newVersion="9.0.30729.6161"/>
<bindingRedirect  oldVersion="9.0.30201.0-9.0.30729.6161" newVersion="9.0.30729.6161"/>

After this new Visual C++ 2008 Redistributable installation my program shows "This Application Has Failed to Start Because the Application Configuration Is Incorrect" error. But if I delete above policy file it works fine. Any idea?
Posted 11-Apr-13 21:44pm
Updated 11-Apr-13 22:05pm
Richard MacCutchan 12-Apr-13 4:08am
Did you rebuild your project with the new runtimes in place?
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

Looks like the installer overwrote the "1" with "6161"


My solution is to use static linking to avoid such mess.
Nayana Adassuriya 12-Apr-13 3:56am
Static linking is not a recommended method. And for large scale project with multiple DLLs conflict by the static linking. Run time assemblies normally not overtiring one by other. Those just forward usage by policies.
KarstenK 12-Apr-13 4:41am
Large scale projects are with a complete installer which should handle the dll mess.
In smaller projects is static linking an easy way to make the setup an "easy fruit" and avoid such problems.
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

You can adjust the tolerance to this in the manifest file(s) for your application. I'll let you chase MSDN for this.

If you use external manifest files, you can fix your existing app without recompiling with the 'redirect' technique which is described here[^].

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web01 | 2.8.171114.1 | Last Updated 12 Apr 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100