Dependency Walker: fehlende DLLs

74

Ich habe versucht, DLL-Abhängigkeiten für die ausführbare Datei mit Dependency Walker aufzulösen . Derzeit fehlen mir DLLs in der folgenden Form:

API-MS-WIN -XXX

EXT-MS-WIN -XXX

Zum Beispiel:

API-MS-WIN-APPMODEL-IDENTITY-L1-2-0.DLL
API-MS-WIN-APPMODEL-RUNTIME-INTERNAL-L1-1-0.DLL
API-MS-WIN-BASE-UTIL-L1-1-0.DLL
API-MS-WIN-CORE-APIQUERY-L1-1-0.DLL
EXT-MS-WIN-RTCORE-NTUSER-SYSCOLORS-L1-1-0.DLL

Hat jemand Ideen, wie man diese lösen kann? Jede Hilfe wird sehr geschätzt!

Zusätzliche Informationen: Ich habe die ausführbare Datei mit Visual Studio 2013 kompiliert . Das Interessanteste ist, dass ich beim Kompilieren keine Fehler erhalten habe. Ich kann es jedoch aufgrund fehlender Abhängigkeiten nicht ausführen. Ich habe auch einen Screenshot von Dependency Walker angehängt:

Abhängigkeitsläufer

Update 1: Um das Problem zu lösen, habe ich versucht, den Pfad für die Bibliotheken, die VS während der Kompilierung verwendet hat, ohne Glück zur Umgebungsvariablen $ PATH hinzuzufügen ( Dependency Walker zeigt immer noch ungelöste Abhängigkeiten an).

Ben N.
quelle
Welchen Compiler oder welche IDE verwenden Sie?
Kizeloo
1
@kizeloo Vielen Dank für Ihre Antwort! Ich benutze Visual Studio 2013.
Ben N.

Antworten:

86

Hierbei handelt es sich um API-Sets - im Wesentlichen um eine zusätzliche Ebene der Anrufindirektion, die seit Windows 7 schrittweise eingeführt wurde. Die Entwicklung von Dependency Walker wurde anscheinend lange zuvor gestoppt, und API-Sets können nicht ordnungsgemäß verarbeitet werden.

Das sind also alles Fehlalarme und kein Grund zur Sorge. Du vermisst nichts.

Siehe auch On API-MS-WIN-XXXXX.DLL und andere Abhängigkeits-Walker-Störungen .


Bearbeiten: Erst im Oktober 2017 hat endlich jemand versucht, diese Lücke zu schließen. Treffen Sie Abhängigkeiten von lucasg . Ich habe bis jetzt nur kurz damit herumgespielt, aber es handhabt API-Sets gut und ist zumindest sehr bemerkenswert.

Ofek Shilon
quelle
3
Ausgezeichnete Informationen! :-). Aber wäre das nicht "falsch positiv" statt "falsch negativ"? Nur Nitpicking, das war die beste neue Information von heute für mich. Ich freue mich auf das Testen Dependencies. Vielen Dank!
Stein Åsmul
2
Nun, ich versuche ein Problem zu lösen, wenn meine Bibliothek nicht geladen wird (LoadLibrary). Ich kann nicht herausfinden warum. Und einige dieser genannten Dateien befinden sich nicht einmal auf meinem System. Ist das immer noch falsch positiv?
Martin Kosicky
@ MartinKosicky Die genannten Dateien sind nicht einmal Dateien. Sie sind "virtuelle Markierungen" für den Windows Loader - und sollten nicht auf Ihrer Festplatte vorhanden sein. Das ist also definitiv nicht dein Problem
Ofek Shilon
1
In der Tat haben Abhängigkeiten von lucasg die falschen "fehlenden Pakete" entfernt und ergeben, dass (in meinem Fall) eine andere Python-Version erwartet wurde.
Josiah Yoder
Als jemand, der manchmal zu schnell liest, kann es hilfreich sein, den Kommentar zu Abhängigkeiten nach oben in den ersten Absatz zu verschieben. "... es kann nicht richtig mit API-Sets umgehen. Vielleicht möchten Sie Dependencies ausprobieren, indem Sie eine neuere Abhängigkeits-App verwenden, die diese richtig handhaben sollte"
Jimbo
23

Zusätzlich zu dem, was @Ofek Shilon gesagt hat, ignoriere ich normalerweise die folgenden DLLs, die dependency_walker als fehlend identifiziert hat, wenn ich versuche, fehlende DLLs für mein Programm zu finden. Sie werden sehen, dass Ihr Programm einwandfrei läuft, wenn dependency_walker sagt, dass diese DLLs fehlen.

  • API-MS-WIN - *. DLL
  • EXT-MS-WIN - *. DLL
  • IESHIMS.dll
  • EMCLIENT.dll
  • DEVICELOCKHELPERS.dll

Sie können nach anderen als den oben genannten DLLs suchen, um Ihr Problem zu beheben.

Tae-Sung Shin
quelle
4

Ich ignoriere auch:

  • EFSCORE.DLL
  • WPAXHOLDER.DLL
von Bienen gestört
quelle