System-DLLs werden nicht gefunden obwohl vorhanden

  • #1
M

MasterQ

Bekanntes Mitglied
Themenersteller
Dabei seit
06.03.2006
Beiträge
139
Reaktionspunkte
0
Hallo,

bin grad am Schreiben einer eigenen (sehr einfachen) DLL und musste feststellen, dass meine DLL nicht geladen wird weil offensichtlich Abhängigkeiten fehlen. Mit dem Dependency Walker habe ich herausgefunden, dass (zunächst) zwei DLLs nicht gefunden werden, die irgendwo tief vom Windows-System selbst benötigt werden. Die beiden DLLs sind

GPSVC.DLL
IESHIMS.DLL

Beide Dateien sind definitiv auf der Platte unter c:\windows\system32 vorhanden. Notgedrungen habe ich die Dateien in den Ordner meiner DLL kopiert und dann findet Dependency weitere nicht erreichbare DLLs. Dazu zählen dann z.B. SYSNTFY.DLL. Ich habe dann hier abgebrochen.

Fazit ist, dass DLLs, die tief im Windows selber verankert liegen nicht gefunden werden. Die Umgebungsvariable PATH ist ordnungsgemäß gesetzt und andere DLLs in den gleichen Pfaden werden gefunden. Ein Versuch, die nicht erreichbaren DLLs nachträglich mit regsrv32 zu registrieren bricht mit Fehlermeldung ab, da die Eintrittspunkte nicht gefunden werden können. Das gleiche Problem tritt auf meinem Zweitrechner auf. Es scheint sich hier also um ein generelles Phänomen zu handeln.

Hat einer einen Tipp, was da genau faul sein könnte? An meiner DLL kanns nicht liegen, im Moment deklariere ich lediglich eine std::string-Variable, alle eigenen Funktionen sind bisher noch leer.

Die Call-Chain ist übrigens

myFoo.DLL -> LIBSTDC++-6.DLL -> USER32.DLL -> ADVAPI32.DLL -> WINTRUST.DLL -> CRYPT32.DLL -> USERENV.DLL -> GPSVC.DLL (wird nicht gefunden)

Also sind die Abhängigkeiten von USER32.DLL nicht vollständig aufzulösen! öhm, das ist komisch, oder?

Gruß

MQ
 
Thema:

System-DLLs werden nicht gefunden obwohl vorhanden

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.493
Neuestes Mitglied
Flensburg45
Oben