2009-07-27 3 views
3

. NET 어셈블리가 GAC에 배포되고 대상 파일이 잠겨지면 Windows는 일종의 'assembly pergatory'인 -을 가장 잘 추측 할 수 있습니다.'조립 연옥'은 어떻게됩니까?

Process Explorer Search http://alexangas.com/blog/wp-content/uploads/2009/07/peasmlist.png

이 이 이

가 최대한 빨리 (이 경우에서는 Owstimer.exe)에 파일을 잠금 프로세스를 종료로이 마술 배포 :

용의자 DLL을 검색 할 때이 쉽게 볼 수있는 프로세스 탐색기를 사용하여 올바르게 GAC에.

저는 실제로 여기에서 Windows가하는 일에 대해 궁금합니다. 파일 잠금이 해제 된 시점을 어떻게 알 수 있습니까? 잠긴 파일의 기록은 어디에 보관합니까? 그것은 결코 포기 하는가?

답변

1

Temptmp은 GAC 어셈블리 설치 및 제거 중에 사용되는 임시 폴더입니다. Tmp은 설치에 사용되고 Temp은 제거에 사용됩니다. 출처 : GAC Temp and Tmp

.NET 런타임 최적화 서비스 (mscorsvw.exe는) 아마도 닫을 경우는 [취소] 등록되지 않은 어셈블리를 설치할 수 있도록 확인하기 위해 가끔 파일을 프로빙합니다.

내가 틀릴 수도 있지만, 내가 아는 한 특정 파일이 폐쇄/잠금 해제되었음을 알리는 WinAPI가 없습니다. 너 혼자 모니터해야 해. 그러나 Windows 자체는 메모리에 어딘가에 목록이 있어야합니다 (최소한 열린 핸들 목록이 있음). 따라서 파일을 나타내는 핸들이 해제되므로 파일이 닫혔다는 것을 알 수 있습니다.