Frage

Wenn Sie LoadLibrary ohne Pfad nennen (zum Beispiel LoadLibrary("whatever.dll"), wird Windows im Allgemeinen seines Standard-Suchalgorithmus folgen, das gleiche verwendet es EXE-Dateien zu finden.

Meine Frage ist: Angenommen, eine Anwendung manifest gibt an eine bestimmte Version eines System-DLL gibt, sagt sie, comctl32.dll 6.0. In diesem Fall wird LoadLibrary("comctl32.dll"), geht sofort auf die richtigen Seite-an-Seite-Ordner, oder ist es immer noch eine Art von Suche durchführen?

War es hilfreich?

Lösung

Microsoft:

  

Anwendungen können die Position steuern, von dem eine DLL, indem Sie einen vollständigen Pfad geladen wird, DLL-Umleitung verwendet wird, oder indem man ein Manifest verwendet wird. Wenn keine dieser Methoden verwendet werden, die Zeit sucht das System nach der DLL bei Belastung wie in diesem Thema beschrieben.

Also ja, wenn ein Manifest vorhanden ist, wird es direkt an den SxS-Ordner gehen.

Andere Tipps

den Lader zu sondieren, wenn Probleme mit fehlenden Bibliotheken haben, können Sie die „sxstrace“ nutzen. www.codeproject.com/KB/DLL/QueryAssemblyIdentities.aspx gibt einige Details über die Abhängigkeiten zwischen manifesten und WinSxS.

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