最近インストールで多くの問題を引き起こしているサードパーティのlib+DLLが含まれています。依存関係ウォーカーを使用して、dll自体が2つの異なるバージョンを参照していることがわかりました。
MSVCR80.DLL:
Version 8.0.50727.4053 and
Version 8.0.50727.42
代替テキストhttp://img101.imageshack.us/img101/1734/dependencywalk2.jpg
ほとんどの場合、両方のバージョンを配布していなくても、インストールに問題はありません。しかし、多くの場合、インストールが開始されません。次に、SideBySideマネージャーからのWindowsシステムイベントログに「DLLのバージョンが一致しません」というメッセージが表示されます。ほとんどの場合、この問題は.NET Frameworkをインストールすることで解決できます(ただし、これは使用しません)。しかし、今ではこれが役に立たない場合があります。
両方のバージョンを共有アセンブリとしてインストールすることが解決策になることはわかっていますが、それは簡単ではないようです。さらに、もっと単純な解決策を好むでしょう。誰かが回避策を知っていますか?
どういうわけか、DLLの1つのバージョンのみを使用できますか?
編集: 私は今、クリスチャンのアドバイスを試しました:
D:\Develop\LEADTOOLS15\patch_maifest>mt.exe -inputresource:ltkrn15u.dll;#1 -out:old.manifest
Microsoft (R) Manifest Tool version 5.2.3790.2075
Copyright (c) Microsoft Corporation 2005.
All rights reserved.
mt.exe : general error c101008c: Failed to read the manifest from the resource of file "ltkrn15u.dll". Ressource not found.
フルパスでdllの依存関係を表示すると、次のように 表示されます。alt text http://img340.imageshack.us/img340/4122/dependencywalk3.jpg
下位のMSVCR80.DLLは、バージョンが...42のものです。私はこれを理解していません。MSVC P 80.DLLが、それ以外のバージョンとは異なるバージョンのMSVCR80.DLLを参照するのはなぜですか。それはおそらくdependencywalkerの問題ですか?