기존 패키지에서 COM이 아닌 구성 요소를 프라이빗으로 만들기
관리자는 서버와 클라이언트 간에 격리된 구성 요소 관계를 지정하여 다른 애플리케이션에 영향을 주지 않고 클라이언트 애플리케이션에서 기존 패키지의 동일한 COM이 아닌 서버 복사본을 항상 사용하도록 강제할 수 있습니다. 그러면 서버 구성 요소의 비공개 복사본이 클라이언트 애플리케이션에서 독점적으로 사용되는 위치에 설치됩니다. 관리자는 변환 또는 패키지 작성 도구를 사용하여 다음을 수행해야 합니다.
- 서버 DLL 및 .exe 클라이언트를 별도의 구성 요소에 배치합니다.
- Component_Shared 열의 클라이언트 구성 요소와 Component_Application 열의 클라이언트 애플리케이션을 사용하여 IsolatedComponent 테이블에 레코드를 입력합니다. 시퀀스 테이블에 IsolateComponents 작업을 포함합니다.
- Component_Shared에 대한 Component 테이블 레코드에서 msidbComponentAttributesSharedDllRefCount 비트를 설정합니다. 설치 관리자는 다른 설치 기술과 공유가 있는 경우 공유 파일 및 등록을 보호하기 위해 공유 위치에 대한 이 글로벌 refcount가 필요합니다.