정규화된 구성 요소 사용
정규화된 구성 요소는 간접적인 방법이며 병렬 기능이 있는 구성 요소를 범주로 그룹화하는 데 사용할 수 있습니다.
전체 경로를 반환하고 정규화된 구성 요소를 설치하려면 MsiProvideQualifiedComponent 또는 MsiProvideQualifiedComponentEx를 호출합니다.
정규화된 구성 요소 한정자와 설명 문자열을 모두 열거하려면 MsiEnumComponentQualifiers를 호출합니다.
정규화된 구성 요소 범주로 구성 요소를 함께 그룹화하려면
- 정규화된 구성 요소의 새 범주에 포함된 각 구성 요소에 대한 레코드가 구성 요소 테이블에 있어야 합니다. 일반 구성 요소와 동일하게 구성 요소 테이블의 필드를 작성합니다. 정규화된 각 구성 요소에는 구성 요소 테이블의 ComponentId 열에 입력된 고유한 구성 요소 ID GUID가 있어야 합니다.
- 각 정규화된 구성 요소에 대한 한정자 텍스트 문자열을 생성합니다. 한정자는 정규화된 구성 요소를 검색할 때 쉽게 생성할 수 있는 고유한 텍스트 문자열이어야 합니다. 예를 들어 범주의 구성 요소가 언어로 정규화되는 경우 LCID(숫자 로캘 식별자)는 합당한 한정자 문자열입니다.
- 정규화된 각 구성 요소에 대해 PublishComponent 테이블에 레코드를 추가합니다. 구성 요소 테이블의 구성 요소 열에서 PublishComponent 테이블의 Component_ 열로 정규화된 구성 요소 식별자를 입력합니다. 한정자 열에 정규화된 각 구성 요소의 한정자 문자열을 입력합니다. 사용자에게 표시될, 선택적 AppData 열에 정규화된 구성 요소를 설명하는 지역화된 문자열을 입력합니다. 숫자 LCID가 아닌 "French Dictionary"와 같은 설명 문자열을 AppData 필드에 입력해야 합니다. 이 구성 요소를 사용하는 기능의 이름을 Feature_ 열에 입력합니다. 이 필드의 기능 식별자는 기능 테이블의 기능 열에도 나열되어야 합니다.
- 정규화된 구성 요소의 이 범주에 대한 범주 GUID를 생성합니다. 유효한 GUID여야 합니다. GUIDGEN과 같은 유틸리티를 사용하여 GUID를 생성하는 경우 대문자만 포함해야 합니다. 이 범주의 모든 정규화된 구성 요소에 대해 범주 GUID를 PublishComponent 테이블의 ComponentId 필드에 입력합니다.
다음 예에서는 정규화된 구성 요소의 "FAX 템플릿" 범주가 구성 요소, 기능 및 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 |