다음을 통해 공유


정규화된 구성 요소 사용

정규화된 구성 요소는 간접적인 방법이며 병렬 기능이 있는 구성 요소를 범주로 그룹화하는 데 사용할 수 있습니다.

전체 경로를 반환하고 정규화된 구성 요소를 설치하려면 MsiProvideQualifiedComponent 또는 MsiProvideQualifiedComponentEx를 호출합니다.

정규화된 구성 요소 한정자와 설명 문자열을 모두 열거하려면 MsiEnumComponentQualifiers를 호출합니다.

정규화된 구성 요소 범주로 구성 요소를 함께 그룹화하려면

  1. 정규화된 구성 요소의 새 범주에 포함된 각 구성 요소에 대한 레코드가 구성 요소 테이블에 있어야 합니다. 일반 구성 요소와 동일하게 구성 요소 테이블의 필드를 작성합니다. 정규화된 각 구성 요소에는 구성 요소 테이블의 ComponentId 열에 입력된 고유한 구성 요소 ID GUID가 있어야 합니다.
  2. 각 정규화된 구성 요소에 대한 한정자 텍스트 문자열을 생성합니다. 한정자는 정규화된 구성 요소를 검색할 때 쉽게 생성할 수 있는 고유한 텍스트 문자열이어야 합니다. 예를 들어 범주의 구성 요소가 언어로 정규화되는 경우 LCID(숫자 로캘 식별자)는 합당한 한정자 문자열입니다.
  3. 정규화된 각 구성 요소에 대해 PublishComponent 테이블에 레코드를 추가합니다. 구성 요소 테이블의 구성 요소 열에서 PublishComponent 테이블의 Component_ 열로 정규화된 구성 요소 식별자를 입력합니다. 한정자 열에 정규화된 각 구성 요소의 한정자 문자열을 입력합니다. 사용자에게 표시될, 선택적 AppData 열에 정규화된 구성 요소를 설명하는 지역화된 문자열을 입력합니다. 숫자 LCID가 아닌 "French Dictionary"와 같은 설명 문자열을 AppData 필드에 입력해야 합니다. 이 구성 요소를 사용하는 기능의 이름을 Feature_ 열에 입력합니다. 이 필드의 기능 식별자는 기능 테이블의 기능 열에도 나열되어야 합니다.
  4. 정규화된 구성 요소의 이 범주에 대한 범주 GUID를 생성합니다. 유효한 GUID여야 합니다. GUIDGEN과 같은 유틸리티를 사용하여 GUID를 생성하는 경우 대문자만 포함해야 합니다. 이 범주의 모든 정규화된 구성 요소에 대해 범주 GUID를 PublishComponent 테이블의 ComponentId 필드에 입력합니다.

다음 예에서는 정규화된 구성 요소의 "FAX 템플릿" 범주가 구성 요소, 기능 및 PublishComponent 테이블에 작성되는 방법을 보여줍니다.

PublishComponent 테이블

ComponentId 한정자 앱 데이터 Feature_ Component_
{FAX 템플릿 범주 GUID} 1033 영어(미국) 템플릿 FAXTemplate FAXTemplateENU
  1041 일본어 템플릿 FAXTemplate FAXTemplateJPN
  1054 태국어 템플릿 FAXTemplate FAXTemplateTHA
  1031 독일어 템플릿 FAXTemplate FAXTemplateDEU

 

구성 요소 테이블(부분 테이블)

구성 요소 ComponentId
FAXTemplateENU {FAX 템플릿 영어(미국) 구성 요소 GUID}
FAXTemplateJPN {FAX 템플릿(일본어) 구성 요소 GUID}
FAXTemplateTHA {FAX 템플릿(태국어) 구성 요소 GUID}
FAXTemplateDEU {FAX 템플릿(독일어) 구성 요소 GUID}

 

Feature 테이블(부분 테이블)

기능
FAXTemplate
FAXTemplate
FAXTemplate
FAXTemplate