Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ Windows Runtime
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"/>
<dependency>
<dependentAssembly>
<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"/>
</dependentAssembly>
</dependency>
</assembly>
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
Edited 11-Apr-13 22:05pm
v2
Comments
Richard MacCutchan at 12-Apr-13 4:08am
   
Did you rebuild your project with the new runtimes in place?
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Looks like the installer overwrote the "1" with "6161"
 
9.0.30729.1
9.0.30729.6161
 
My solution is to use static linking to avoid such mess.
  Permalink  
Comments
Nayana Adassuriya at 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 at 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
good
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[^].
  Permalink  

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



Advertise | Privacy | Mobile
Web03 | 2.8.1411022.1 | Last Updated 12 Apr 2013
Copyright © CodeProject, 1999-2014
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