2009-06-11 8 views
0

Windows 2000 사용자의 경우 애플리케이션 디렉토리에 application with a DLL을 배포해야합니다. dll은 나중에 Windows XP와 함께 시스템 DLL로 제공됩니다.먼저 시스템 dll을 사용하기 위해 윈도우의 퓨전 로더를 지시 하시겠습니까?

Windows XP는 어셈블리 의존성을 해결하기 위해 Microsoft에서 Fusion 로더를 도입 한 때이기도합니다.

내 폴더에 dll 버전을 사용하지 않도록 지시 할 수 있습니까? 대신 해당 DLL의 시스템 제공 버전의 최신 버전 을 항상 사용 하시겠습니까? 그리고 Windows 2000에는 Fusion 로더 또는 dll이 없으므로 내 폴더에있는 버전 만 사용하게됩니까?

+0

에 정확히 경로 를 지정하는 것이 가능할 것이다는 DLL을로드하는 방법으로 응용 프로그램을 수정하는 것이 좋습니다 단지 수 응용 프로그램 디렉토리에 있으면 시스템의 모든 항목 대신로드됩니다. 적어도 D3D 디버거가 어떻게 작동하는지는 알 수 있습니다. – OregonGhost

+0

이 응용 프로그램이 .NET입니까? – Kev

+0

@OregonGhost : 나는 그 반대를 원한다. 일부 시스템 버전이있는 경우 응용 프로그램 디렉토리에 dll을로드하지 않기를 원합니다. –

답변

0

Windows 2000에서 DLL이 app 폴더에 없으면 표준 DLL로드 경로 ($ PATH 작동 방식과 유사)를 따라갑니다. XP에서 앱이하는 일은 앱 매니페스트가 있는지 여부 (즉, 버전을 지정했는지 여부)에 따라 다릅니다.

+0

내 문제를 해결하는 데 유용한 App Manifest가 아닌지 여부에 따라 XP가 무엇입니까? –

0

Windows에서는 불가능합니다. 현재 디렉터리의 DLL이 항상 먼저로드됩니다. 나는 동적 다음이에서 LoadLibrary 경로를 변경하거나에서 DLL을 제공하면 내가 생각하는 DLL