Feature 테이블
Feature 테이블은 기능의 논리적 트리 구조를 정의하고 다음 표에 표시된 열을 포함합니다.
Column | 형식 | 키 | Nullable |
---|---|---|---|
기능 | 식별자 | Y | N |
Feature_Parent | 식별자 | N | Y |
제목 | Text | N | Y |
설명 | Text | N | Y |
표시 | 정수 | N | Y |
Level | 정수 | N | N |
Directory_ | 식별자 | N | Y |
특성 | 정수 | N | N |
열
-
기능
-
특정 기능 레코드를 식별하는 데 사용되는 기본 키입니다. 이 필드의 값은 최대 길이 38자를 초과할 수 없습니다.
-
Feature_Parent
-
동일한 테이블에 있는 부모 레코드의 선택적 키입니다.
이 키는 기능 열을 가리킵니다. 부모 기능을 선택하지 않으면 이 기능이 설치되지 않습니다. 이 필드의 null 값은 이 기능이 루트 항목이며 부모가 없음을 나타냅니다. Feature_Parent 열은 동일한 레코드의 기능 열과 같아서는 안 합니다.
참고
기능의 최대 깊이는 16입니다. 이 최대 깊이를 초과하는 기능이 있으면 오류 2701이 발생합니다.
-
제목
-
기능을 식별하는 짧은 텍스트 문자열입니다.
이 문자열은 선택 대화 상자의 SelectionTree 컨트롤에 의해 항목으로 나열됩니다.
-
설명
-
기능을 설명하는 긴 텍스트 문자열입니다.
-
디스플레이
-
이 필드의 숫자는 기능이 사용자 인터페이스에 표시되는 순서를 지정합니다.
이 값은 기능이 처음에 확장 또는 축소되어 표시되는지 여부도 결정합니다. 값이 null 또는 0(영)이면 레코드가 표시되지 않습니다.
- 값이 홀수이면 기능 노드가 처음에 확장됩니다.
- 값이 짝수이면 기능 노드가 처음에 축소됩니다.
-
수준
-
이 기능의 초기 설치 수준입니다. 조건 테이블을 처리하면 수준 값을 수정할 수 있습니다.
설치 수준 0이면 항목이 비활성화되고 항목이 표시되지 않습니다. 설치 수준이 0인 기능은 설치(관리자 설치 포함) 중에 설치되지 않습니다. 자세한 내용은 이 항목의 설명 섹션에 있는 "설치 수준" 정보를 참조하세요.
-
Directory_
-
Directory_ 열은 선택 대화 상자에서 구성할 수 있는 디렉터리의 이름을 지정합니다.
이 필드는 Directory 테이블의 핵심이므로 지정된 디렉터리가 Directory 테이블의 첫 번째 열에 나열되어야 합니다. 디렉터리를 구성 가능하게 만들고 선택 대화 상자에 찾아보기 단추를 표시하려면 이 열에 공용 속성을 입력해야 합니다.
-
특성
-
설치되지 않고 다음 속성 중 하나를 사용하여 기능 상태 요청이 수행되지 않는 기능에 대한 원격 실행 옵션입니다.
- ADDLOCAL 속성
- ADDSOURCE 속성
- ADDDEFAULT 속성
- COMPADDLOCAL 속성
- COMPADDSOURCE 속성
- FILEADDLOCAL 속성
- FILEADDSOURCE 속성
- REMOVE 속성
- REINSTALL 속성
- ADVERTISE 속성
표시된 비트를 이 열의 총 값에 추가하여 원격 실행 옵션을 포함합니다.
- 이 필드가 비어 있으면 값은 기본적으로 0(영), msidbFeatureAttributesFavorLocal입니다.
- 기능 설치 수준이 0(영)이거나 현재 설치 수준보다 크거나 같으면 기능 상태가 변경되지 않습니다.
속성 Decimal 16진수 설명 msidbFeatureAttributesFavorLocal 0 0x0000 원본에서 설치하도록 표시되지 않은 이 기능의 구성 요소는 로컬로 설치됩니다. 둘 이상의 기능(일부는 msidbFeatureAttributesFavorLocal로 설정되고 일부는 msidbFeatureAttributesFavorSource로 설정됨)이 공유하는 구성 요소가 로컬로 설치됩니다. Component 테이블에 msidbComponentAttributesSourceOnly로 표시된 구성 요소는 항상 원본 CD/서버에서 실행됩니다. msidbFeatureAttributesFavorLocal 및 msidbFeatureAttributesFavorSource 비트는 ADVERTISE 속성에 나열되지 않은 기능과 함께 작동합니다. msidbFeatureAttributesFavorSource 1 0x0001 로컬 설치용으로 표시되지 않은 이 기능의 구성 요소는 원본 CD-ROM 또는 서버에서 실행되도록 설치됩니다. 둘 이상의 기능(일부는 msidbFeatureAttributesFavorLocal로 설정되고 일부는 msidbFeatureAttributesFavorSource로 설정됨)이 공유하는 구성 요소가 로컬로 실행되도록 설치됩니다. Component 테이블에서 msidbComponentAttributesLocalOnly로 표시된 구성요소는 항상 로컬에 설치됩니다. msidbFeatureAttributesFavorLocal 및 msidbFeatureAttributesFavorSource 비트는 ADVERTISE 속성에 나열되지 않은 기능과 함께 작동합니다. msidbFeatureAttributesFollowParent 2 0x0002 이 특성을 설정하고 기능의 상태는 기능의 부모 상태와 동일합니다. 기능이 기능 트리의 루트에 있는 경우 이 옵션을 사용할 수 없습니다. 이 특성을 생략하면 기능 상태는 msidbFeatureAttributesDisallowAdvertise 및 msidbFeatureAttributesFavorLocal 및 msidbFeatureAttributesFavorSource에 따라 결정됩니다.
SelectionTree 컨트롤에서 자식과 부모가 처음에 부재로 설정되어 있더라도 자식 기능의 상태가 항상 부모의 상태를 따르도록 보장하려면 자식 기능의 특성에 msidbFeatureAttributesFollowParent 및 msidbFeatureAttributesUIDisallowAbsent를 모두 포함해야 합니다.
msidbFeatureAttributesUIDisallowAbsent를 설정하지 않고 msidbFeatureAttributesFollowParent를 설정하는 경우 설치 관리자가 자식 기능을 부재 상태에서 강제로 해제할 수 없습니다. 이 경우 자식이 부재가 아닌 다른 상태로 설정된 경우에만 자식 기능이 부모의 설치 상태와 일치합니다.
자식 기능이 부모 기능의 상태를 따르도록 msidbFeatureAttributesFollowParent 및 msidbFeatureAttributesUIDisallowAbsent를 설정합니다.msidbFeatureAttributesFavorAdvertise 4 0x0004 이 특성을 설정하면 기능 상태는 Advertise입니다. 기능이 ADDDEFAULT 속성에 의해 나열되면 이 비트는 무시되고 기능 상태는 msidbFeatureAttributesFavorLocal 및 msidbFeatureAttributesFavorSource에 따라 결정됩니다. 이 특성을 생략하면 기능 상태는 msidbFeatureAttributesDisallowAdvertise 및 msidbFeatureAttributesFavorLocal 및 msidbFeatureAttributesFavorSource에 따라 결정됩니다. msidbFeatureAttributesDisallowAdvertise 8 0x0008 이 비트는 ADVERTISE 속성에 나열된 기능에서만 작동합니다. 기능이 보급되지 않도록 하려면 이 특성을 설정합니다.
이 특성을 설정하고 나열된 기능이 부모 또는 자식이 아닌 경우 msidbFeatureAttributesFavorLocal 및 msidbFeatureAttributesFavorSource에 따라 기능이 설치됩니다.
나열된 기능의 부모에 대해 이 특성을 설정하고 부모가 설치됩니다.
나열된 기능의 자식에 대해 이 특성을 설정하고 자식의 상태는 Absent입니다.
이 특성을 생략하고 나열된 기능이 부모 또는 자식이 아닌 경우 기능 상태는 Advertise입니다.
이 특성을 생략하고 나열된 기능이 부모 또는 자식인 경우 두 기능의 상태는 Advertise입니다.msidbFeatureAttributesUIDisallowAbsent 16 0x0010 이 특성을 설정하면 사용자 인터페이스에 기능 상태를 Absent로 변경하는 옵션이 표시되지 않습니다. 이 특성을 설정하면 기능이 설치 상태로 강제 설정됩니다(기능이 UI에 표시되는지 여부에 관계없이). 이 특성을 생략하면 사용자 인터페이스에 기능 상태를 Absent로 변경하는 옵션이 표시됩니다.
자식 기능이 부모 기능의 상태를 따르도록 msidbFeatureAttributesFollowParent 및 msidbFeatureAttributesUIDisallowAbsent를 설정합니다.
이 특성을 설정하면 UI에 영향을 줄 뿐만 아니라 기능이 설치 상태로 강제 설정됩니다(기능이 UI에 표시되는지 여부에 관계없이).msidbFeatureAttributesNoUnsupportedAdvertise 32 0x0020 이 특성을 설정하면 운영 체제 셸에서 Windows Installer 설명자를 지원하지 않는 경우 기능에 대해 보급을 사용하지 않도록 설정됩니다. 이 특성을 생략하면 보급을 사용할 수 없습니다. 일부 특성은 서로 배타적입니다. 동일한 기능에서 이러한 특성을 함께 설정하려고 하면 설치 패키지가 패키지 유효성 검사에 실패합니다.
- msidbFeatureAttributesFavorAdvertise를 msidbFeatureAttributesDisallowAdvertise와 함께 사용하지 마세요.
- msidbFeatureAttributesNoUnsupportedAdvertise를 msidbFeatureAttributesDisallowAdvertise와 함께 사용하지 마세요.
- msidbFeatureAttributesFollowParent를 msidbFeatureAttributesFavorSource와 함께 사용하지 마세요.
- msidbFeatureAttributesFollowParent 및 msidbFeatureAttributesFavorLocal 값은 상호 배타적입니다. msidbFeatureAttributesFollowParent 값이 사용되는 경우 msidbFeatureAttributesFavorLocal 값은 없는 것으로 간주됩니다.
자식 기능이 설치되면 부모 기능도 설치됩니다. 부모 기능이 설치된 경우 해당 msidbFeatureAttributesFollowParent 및 msidbFeatureAttributesUIDisallowAbsent 특성이 설정되지 않는 한 자식 기능이 반드시 설치되지는 않습니다. 부모 및 자식 기능 설치의 이런 계층적 관계는 GUI 설치 및 명령줄 속성을 사용하는 설치에도 사용됩니다.
설명
비용 계산 및 UI(사용자 인터페이스) 선택에 사용되는 계산을 위해 메모리에 로드될 때 이 테이블에 몇 가지 임시 열이 더 추가됩니다.
구성 요소는 둘 이상의 기능 또는 애플리케이션 간에 공유할 수 있습니다. 둘 이상의 기능이 동일한 구성 요소를 참조하는 경우 연결된 기능이 선택되면 해당 구성 요소가 설치용으로 선택됩니다. 이것은 부모 기능이 제거될 때 자식 기능이 제거되지 않는 이유일 수도 있습니다. 자식 기능이 다른 기능 또는 애플리케이션에 필요한 구성 요소로 구성된 경우 Windows Installer는 자식 기능을 제거하지 않습니다.
자세한 내용은 기능 선택 상태 제어를 참조하세요.
설치 수준:
- 모든 설치에는 정의된 설치 수준이 있으며, 1에서 32,767까지의 정수 값입니다. 초기 값은 INSTALLLEVEL 속성에 의해 결정되며, 이것은 Property 테이블에서 설정됩니다.
- 기능은 기능 수준 값이 현재 설치 수준보다 작거나 같은 경우에만 설치됩니다. 설치가 초기화되면 설치 관리자에서 Feature 테이블에 있는 모든 기능의 설치 수준을 수정할 수 있도록 UI를 작성할 수 있습니다. 예를 들어 작성자는 사용자 지정 설치, 표준 설치 또는 최소 설치와 같은 특정 설치 옵션을 나타내는 설치 수준 값을 정의한 다음, SetInstallLevel ControlEvents를 사용하여 사용자가 이러한 상태 중 하나를 선택할 수 있도록 하는 대화 상자를 만들 수 있습니다.
- 사용자가 선택한 상태에 따라 대화 상자는 설치 수준 속성을 해당 값으로 설정합니다. 작성자가 표준 설치에 100 수준을 할당하고 사용자가 표준 설치을 선택하면 수준이 100 이하인 기능만 설치됩니다. 또한 사용자 지정 설치 옵션은 SelectionTree 컨트롤이 포함된 다른 대화 상자로 이어질 수 있습니다. 그런 다음, SelectionTree 컨트롤을 통해 각 기능의 설치 여부를 사용자가 개별적으로 변경할 수 있습니다.
유효성 검사
ICE03
ICE06
ICE10
ICE14
ICE21
ICE32
ICE41
ICE45
ICE47
ICE50
ICE57
ICE59
ICE62
ICE67
ICE79
ICE86
ICE94