私の C++ アプリケーションは、共有ランタイム アセンブリ バージョン 9.0.30729.1 を使用して Windows XP で実行されていました。しかし最近、新しい C++ 再配布パッケージをインストールしたところ、新しいバージョンのランタイム アセンブリ バージョン 9.0.30729.6161 がデプロイされました。
Winsxs\policies ディレクトリでは、この新しいポリシー ファイルも新しい C++ 再配布パッケージによって展開されます。
<?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>
この新しい Visual C++ 2008 再頒布可能パッケージのインストール後、プログラムに「アプリケーションの構成が正しくないため、このアプリケーションは開始できませんでした」というエラーが表示されます。しかし、上記のポリシー ファイルを削除すると、正常に動作します。何か案が?