아니요 . 응용 프로그램이 실행되는 동안 DLL 이 실제 메모리에 완전히 매핑 될 수 있지만 확실히 보장 할 수는 없습니다. DLL (및 실행 파일)의 일부는 RAM에 매핑 될 수 있지만 다른 비트는 디스크에 남아 있으며 나중에 읽을 수 있습니다.
RAM에 매핑 된 비트가 Windows에있는 동안 디스크의 파일을 변경하면 제대로 종료되지 않습니다. Windows는 적절한 이유로이를 잠급니다.
편집 : 일부 사람들은 OS 설계 문제가 아니라 실제로 응용 프로그램 설계 문제 가 무엇인지 Windows를 비난하려는 것처럼 보이기 때문에 무언가를 분명히해야합니다 .
프로세스를 종료하지 않고 응용 프로그램이 Windows에서 사용하는 DLL을 업데이트 할 수 있지만 응용 프로그램은 어셈블리를 언로드하고 업데이트가 완료 될 때까지 기다렸다가 DLL을 다시로드하라는 신호를받을 수 있도록 작성해야합니다. 이것은 실행중인 OS와 관련이 없습니다. 응용 프로그램 디자인 문제입니다.
편집 : 특정 응용 프로그램이 DLL 변경에 응답하는 방식에 따라 작동 할 수 있는 가능한 솔루션에 대한 Stephane의 답변을 참조하십시오 . 나는 그가 공감할 가치가 있다고 생각합니다.
%LocalAppData%\Google\Chrome\Application
폴더와 같은 폴더를 볼 수26.0.1410.64
있습니다)