Frage

Wenn die C ++ Runtime msvcr80.dll wird aus einer kompilierten Bibliothek fehlt, ist es eine Möglichkeit, um festzustellen, welche Version verwendet wurde, um die Bibliothek zu erstellen oder um es auf eine neuere Version von msvcr80.dll zu laufen?

War es hilfreich?

Lösung

(; Windows 2000 unterstützt keine Side-by-Side-Baugruppen vorausgesetzt, Sie mit Windows XP oder Vista)

Das VC80 SP1 CRT verteilbare Paket wird sowohl die RTM und SP1-Versionen der C-Laufzeit in %SystemRoot%\WinSxS installieren. Wenn Sie VC8 installiert haben, ist das CRT verteilbare Paket in %ProgramFiles%\Microsoft Visual Studio 8\VC\redist. Wenn Sie nicht VC8 installiert haben, glaube ich Ihnen das CRT verteilbare Paket von Microsoft.com herunterladen.

Auch, um herauszufinden, was genau CRT-Version (zum Beispiel RTM vs. SP1) wird durch ein binäres benötigt, die mit VC8 oder VC9 gebaut wurde, können Sie das Manifest extrahieren:

mt.exe -inputresource:mydll.dll;#1 -out:mydll.dll.manifest

Geben Sie für so etwas wie folgt aus:

<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b">
</assemblyIdentity>

Meine ausführbare erfordert CRT-Version 9.0.21022.8. Diese Versionsnummer wird auch in den WinSxS Verzeichnisnamen eingebettet (leider wird es von Hashes umgeben):

D:>dir c:\windows\WinSxS\*VC90.CRT*
12/14/2007  02:16 AM    <DIR>          amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_750b37ff97f4f68b
12/14/2007  02:00 AM    <DIR>          x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91

Andere Tipps

Dependency Walker wird Ihnen helfen, diese Frage zu beantworten.

Wenn Sie das Authoring und die genannten DLL verteilen, verwenden Sie ein Merge-Modul für Visual C ++ 8.0 CRT als Teil Ihres Installateurs.

bemerkte ich, dass es ein neues mt.exe Tool und neues Visual C ++ CRT in Windows SDK 6.1. Ich verwende den Merge-Modul als Voraussetzung in den Installshield 12-Installer mit großem Erfolg.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top