다음을 통해 공유


격리된 구성 요소

설치 패키지 작성자는 설치 관리자가 애플리케이션의 공유 파일(일반적으로 공유 DLL)을 공유 위치가 아닌 해당 애플리케이션의 폴더에 복사하도록 지정할 수 있습니다. 이 프라이빗 파일 집합(DLL)은 애플리케이션에서만 사용됩니다. 이러한 방식으로 애플리케이션을 공유 구성 요소와 함께 격리하면 다음과 같은 이점이 있습니다.

  • 애플리케이션은 항상 배포된 공유 파일의 버전을 사용합니다.
  • 애플리케이션을 설치해도 다른 애플리케이션에서 다른 버전의 공유 파일을 덮어쓰지 않습니다.
  • 다른 버전의 공유 파일을 사용하는 다른 애플리케이션의 후속 설치는 이 애플리케이션에서 사용하는 파일을 덮어쓸 수 없습니다.

COM의 현재 구현은 각 CLSID/컨텍스트 쌍에 대해 레지스트리에 단일 전체 경로를 유지하므로 모든 애플리케이션에서 동일한 버전의 공유 DLL을 사용하도록 강제합니다. 애플리케이션이 COM 서버의 프라이빗 복사본을 유지할 수 있도록 Windows 2000의 시스템 로더는 존재 상태를 확인합니다. 애플리케이션의 폴더에 있는 로컬 파일입니다. 시스템 로더가 . LOCAL 파일은 애플리케이션과 동일한 폴더에 있는 DLL을 선호하도록 검색 논리를 변경합니다.

Windows Installer가 IsolateComponents 작업을 실행할 때IsolatedComponent 테이블의 Component_Shared 열에 지정된 구성 요소의 파일(일반적으로 공유 DLL)을 Component_Application 열에 지정된 구성 요소(일반적으로 .exe 파일)와 동일한 폴더에 복사합니다. 설치 관리자는 Component_Application 키 파일의 짧은 파일 이름(일반적으로 이름은 애플리케이션의 .exe과 동일)을 추가하여 길이가 0바이트인 이 디렉터리에 파일을 만듭니다. 현지. 설치 관리자는 공유 위치의 구성 요소에 대한 등록을 사용하며 개인 위치에 있는 구성 요소의 복사본에 대한 등록 정보를 작성하지 않습니다.

자세한 내용은 다음을 참조하세요.

  • 격리된 구성 요소 설치
  • 격리된 구성 요소 다시 설치
  • 격리된 구성 요소 제거
  • 격리된 구성 요소 사용하는