mfc90d.dll wurde nicht gefunden
-
Da sollte die Release Version der C++ 2008 Runtime liegen, eben die msvcp90.dll:
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375
Da sollte die Debug Version der C++ 2008 Runtime liegen, eben die msvcp90d.dll:
C:\WINDOWS\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456
Überprüfe mal bei Dir, was sich alles für Verzeichnisse und Files im C:\WINDOWS\WinSxS Ordner befinden.
Simon
-
Zum Dependency Walker: Einfach starten und seine EXE angeben.
Gibt es Einträge im Eventlog. Die DLLs der CRT und der MFC werden übr Manifeste geladen. Die Dateien werden also nicht im System32 oder im Programmverzeichnis gesucht, sondern unter dem entsprechenden Public Key Eintrag im SxS (Side by Side) Verzeichnis.
-
Die Verzeichnisse heissen ein weing anderst.
statt_x-ww_d08d0375steht
x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30428.1_none_b56b0389391a36c9aber die msvcp90.dll ist drin
-
Und was steht in dem Manifest Deiner EXE welche DLL erwartet wird?
-
Wo sehe ich denn das?
Was genau ist ein Manifest?
-
simcon schrieb:
Die Verzeichnisse heissen ein weing anderst.
statt_x-ww_d08d0375steht
x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30428.1_none_b56b0389391a36c9aber die msvcp90.dll ist drin
Da müsste aber wenn schon die msvcp90d.dll drin sein.
Hast Du das neuste SP schon installiert oder noch eine Beta Version des VS2008?
Simon
-
Die erwähnte Version (9.0.30428.1) der C++ Runtime scheint die Visual Studio 2008 Version 9.0.30428.1 SP1 Beta1 zu sein. Ich rätsle jedoch auf was sich das Beta1 bezieht... aufs SP oder auf VS?
-
Also Service Pack lade ich gerade runter.
Installiere es dann mal....
-
Ich würde zuerst analysieren.
Was hast Du genau für eine Version des VS (inkl. SP) drauf.
Was ist Beta, VS od. SP?
-
simcon schrieb:
Wo sehe ich denn das?
Was genau ist ein Manifest?Schau mal in Dein Verzeichnis mit den Objektdateien. Dort findest Du Mnaifest Dateien (auch temporäere), die eingebunden werden. Dort steht was später in die EXE einfießt und was der Lader sucht.
-
simon.gysi schrieb:
Was ist Beta, VS od. SP?
Das ist die Beta des SP1 für VS-2008!
Erkennbar an der Build Nummer.
-
Die genaue Version ist:
Version 9.0.21022.8 RTM
Kein SP
-
Im Objektverzeichnis Deiner Anwendung müsste sich die Datei "Programmname.exe.intermediate.manifest" befinden. Was steht in dieser drin?
-
Das ist vom Release
<?xml version='1.0' encoding='UTF-8' standalone='yes'?> <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level='asInvoker' uiAccess='false' /> </requestedPrivileges> </security> </trustInfo> <dependency> <dependentAssembly> <assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /> </dependentAssembly> </dependency> <dependency> <dependentAssembly> <assemblyIdentity type='win32' name='Microsoft.VC90.MFC' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /> </dependentAssembly> </dependency> <dependency> <dependentAssembly> <assemblyIdentity type='win32' name='Microsoft.VC90.DebugCRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /> </dependentAssembly> </dependency> </assembly>
-
Und wie schaut die vom Debug-Verzeichnis aus?
-
Da ist keine drin.....

-
Verwendest Du im Projekt Fremdbibliotheken, die als .lib eingebunden werden? Oder .libs, die von anderen Kollegen erzeugt wurden? Hast Du auch alle Projekte neu kompiliert, von denen Dein Hauptprojekt abhängig ist?
-
Ja das tu ich.
Hab aber alles schon mit dem VS 2008 kompiliert.
Die laufen alle.....
-
Warum hat die Release-EXE ein Verweis auf die Debug-CRT???? Da machst Du irgendwas falsch...
-
Wo sieht man die Einstellungen?