Manifest와 함께 LoadLibrary에서 검색하는 Windows 경로
-
03-07-2019 - |
문제
전화하면 LoadLibrary
경로없이 (예 : LoadLibrary("whatever.dll")
, Windows는 일반적으로 표준 검색 알고리즘을 따르며, Exes를 찾는 데 사용하는 것과 동일합니다.
내 질문은 다음과 같습니다. 응용 프로그램이 매니페스트가 특정 버전의 시스템 DLL을 지정한다고 가정 해 봅시다. 이 경우, 의지 LoadLibrary("comctl32.dll")
올바른 나란히 폴더로 즉시 이동하거나 여전히 검색을 수행합니까?
해결책
에서 마이크로 소프트 :
응용 프로그램은 전체 경로를 지정하거나 DLL 리디렉션을 사용하거나 매니페스트를 사용하여 DLL을로드하는 위치를 제어 할 수 있습니다. 이러한 방법 중 어느 것도 사용되지 않으면 시스템은이 주제에 설명 된대로로드 시간에 DLL을 검색합니다.
예, 매니페스트가 있으면 SXS 폴더로 직접 이동합니다.
다른 팁
누락 된 라이브러리에 문제가있을 때 로더를 조사하려면 "SXStrace"기능을 사용할 수 있습니다. www.codeproject.com/kb/dll/queryassemblyidentities.aspx Manifest와 Winsxs 간의 종속성에 대한 세부 정보를 제공합니다.
제휴하지 않습니다 StackOverflow