문제

전화하면 LoadLibrary 경로없이 (예 : LoadLibrary("whatever.dll"), Windows는 일반적으로 표준 검색 알고리즘을 따르며, Exes를 찾는 데 사용하는 것과 동일합니다.

내 질문은 다음과 같습니다. 응용 프로그램이 매니페스트가 특정 버전의 시스템 DLL을 지정한다고 가정 해 봅시다. 이 경우, 의지 LoadLibrary("comctl32.dll") 올바른 나란히 폴더로 즉시 이동하거나 여전히 검색을 수행합니까?

도움이 되었습니까?

해결책

에서 마이크로 소프트 :

응용 프로그램은 전체 경로를 지정하거나 DLL 리디렉션을 사용하거나 매니페스트를 사용하여 DLL을로드하는 위치를 제어 할 수 있습니다. 이러한 방법 중 어느 것도 사용되지 않으면 시스템은이 주제에 설명 된대로로드 시간에 DLL을 검색합니다.

예, 매니페스트가 있으면 SXS 폴더로 직접 이동합니다.

다른 팁

누락 된 라이브러리에 문제가있을 때 로더를 조사하려면 "SXStrace"기능을 사용할 수 있습니다. www.codeproject.com/kb/dll/queryassemblyidentities.aspx Manifest와 Winsxs 간의 종속성에 대한 세부 정보를 제공합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top