다음을 통해 공유


병합 모듈 작성

다음 절차에서는 병합 모듈을 작성하는 일반적인 단계를 설명합니다.

새 병합 모듈 만들려면

  1. 병합 모듈 데이터베이스를 편집하는 데 사용할 수 있는 소프트웨어 도구를 가져옵니다.
  2. 빈 병합 모듈 데이터베이스를 가져옵니다.
  3. 병합 모듈에 대한 GUID을 생성합니다. 병합 모듈에서 데이터베이스 테이블의 기본 키를 작성할 때 이 GUID를 사용해야 합니다.
  4. 병합에서 전달되는 각 구성 요소에 대한 구성 요소 테이블 레코드를 추가합니다. 구성 요소 테이블은 모든 병합 모듈에 필요합니다. 병합 모듈은 기능이 아닌 구성 요소로 작동합니다. 그러나 경우에 따라 데이터베이스 테이블 항목이 기능을 참조해야 할 수 있습니다. 자세한 내용은 병합 모듈의 참조 기능 을 참조하세요.
  5. 병합 모듈이 대상 데이터베이스에 추가하는 디렉터리의 레이아웃을 지정하는 디렉터리 테이블 병합 모듈에 추가합니다. 디렉터리 테이블은 모든 병합 모듈에 필요합니다.
  6. FeatureComponents 테이블을 병합 모듈 데이터베이스로 가져옵니다. 이 빈 테이블은 .msi 파일에 자체 FeatureComponents 테이블이 없는 경우 병합 도구에 대한 지침을 제공합니다.
  7. 이 병합 모듈에서 제공하는 모든 파일을 수집하고 MergeModule.CABinet 캐비닛 파일을 만듭니다. 병합 모듈에 캐비닛을 .msm 파일 내의 스트림으로 추가합니다.
  8. MergeModule.CABinet에 저장된 모든 파일에 대한 레코드를 파일 테이블에 추가합니다.
  9. ModuleSignature 테이블병합 모듈을 식별하는 데 필요한 정보를 추가합니다. 모든 병합 모듈에는 ModuleSignature 테이블이 필요합니다.
  10. ModuleComponents 테이블병합 모듈의 구성 요소를 나열합니다. 모든 병합 모듈에는 ModuleComponents 테이블이 필요합니다.
  11. 병합 모듈이 대상 설치 데이터베이스의시퀀스 테이블을 수정해야 하는 경우에만 병합 모듈 시퀀스 테이블을 .msm 파일에 추가합니다.
  12. 병합 모듈에 _Validation 테이블을 추가합니다. 병합 모듈을 사용하려면 유효성 검사를 통과하려면 _Validation 테이블이 필요합니다.
  13. 병합 모듈에는 드문 경우에만 사용자 인터페이스가 필요합니다. 병합 모듈에 UI를 포함하는 것은 권장되지 않습니다. 사용자 인터페이스가 필요한 경우 UI 테이블을 다른 테이블과 동일하게 .msi 파일에 병합할 수 있습니다.
  14. 병합 모듈 데이터베이스의 적절한 레지스트리 테이블에 레지스트리 정보를 추가합니다. 형식 라이브러리, 클래스, 확장 및 동사에 대한 레지스트리 정보를 TypeLib, 클래스, AppId, ProgId, 확장, 동사또는 MIME 테이블에 추가합니다. 다른 모든 레지스트리 정보는 레지스트리 테이블들어갈 수 있습니다. SelfReg 테이블은 사용하지 않는 것이 좋습니다.
  15. 요약 정보를 병합 모듈 요약 정보 스트림에 추가합니다.
  16. 설치를 시도하기 전에 모든 병합 모듈에서 유효성 검사를 실행합니다.

빈 병합 모듈 데이터베이스 가져오기

병합 모듈 작성 도구 가져오기

병합 모듈 데이터베이스에서 기본 키 이름 지정

[병합 모듈 구성 요소 테이블] 작성

디렉터리 테이블 병합 모듈 작성

작성 모듈 FeatureComponents 테이블

MergeModule.CABinet 캐비닛 파일 생성

병합 모듈 파일 테이블 작성

모듈 서명 테이블 작성

작성 모듈 구성 요소 테이블

병합 모듈 시퀀스 테이블 작성

병합 모듈 유효성 검사

병합 모듈 사용자 인터페이스 작성

병합 모듈 레지스트리 테이블 작성

병합 모듈 요약 정보 스트림 작성

병합 모듈 요약 정보 스트림 참조

병합 모듈 유효성 검사

64비트 병합 모듈 사용