Session.FeatureRequestState 속성

FeatureRequestState 속성은 Session 개체의 읽기-쓰기 속성입니다. 기능의 현재 작업 상태를 가져오거나 기능 및 해당 하위 기능의 작업 변경을 요청하는 데 사용할 수 있습니다. 기능 테이블에서 기능의 이름이 지정되어야 합니다. 기능의 작업 상태 변경이 요청되면 변경된 기능의 모든 구성 요소의 작업 상태도 변경될 수 있습니다. 둘 이상의 기능에서 공유하는 구성 요소의 작업 상태는 새 기능 작업 상태에 따라 적절하게 변경됩니다(설명 참조). FeatureRequestState 속성을 사용하여 특정 기능 이름 대신 ALL 키워드를 지정하여 모든 기능을 한 번에 구성할 수도 있습니다.

이 속성은 읽기/쓰기가 가능합니다.

구문

propVal = Session.FeatureRequestState
Session.FeatureRequestState = propVal 

속성 값

구성할 기능의 이름을 지정하는 필수 문자열입니다. 모든 기능을 원하는 요청 상태로 설정하려면 예약된 대/소문자를 구분하지 않는 단어 ALL을 사용합니다.

설명

FeatureRequestState를 호출하기 전에 SetInstallLevel 메서드를 호출해야 합니다.

기능의 현재 상태가 요청되는 경우 FeatureRequestState 속성은 다음 값 중 하나를 반환합니다.

선택 상태 이름 의미
msiInstallStateUnknown = -1 기능에 대해 아무 작업도 수행되지 않습니다. 이는 null에 해당합니다.
msiInstallStateAdvertised =1 기능이 보급됩니다.
msiInstallStateAbsent = 2 기능이 제거됩니다.
msiInstallStateLocal = 3 기능이 로컬 실행으로 설치됩니다.
msiInstallStateSource = 4 기능이 원본에서 실행으로 설치됩니다.
msiInstallStateDefault = 5 기능이 기능의 현재 작업 상태로 다시 설치됩니다.

 

예를 들어 다음은 VBScript 사용자 지정 작업에서 “MyFeature”의 현재 상태를 가져옵니다.

Dim iRequestState
iRequestState = Session.FeatureRequestState("MyFeature")

기능의 상태가 구성되는 경우 FeatureRequestState 속성을 다음 값 중 하나로 설정해야 합니다.

선택 상태 이름 의미
msiInstallStateAdvertised = 1 기능을 보급합니다.
msiInstallStateAbsent = 2 기능을 제거합니다.
msiInstallStateLocal = 3 이 기능을 로컬 실행으로 설치합니다.
msiInstallStateSource = 4 기능을 원본에서 실행으로 설치합니다.

 

예를 들어 컴퓨터에서 로컬로 실행하도록 “MyFeature”를 설치하라는 VBScript 사용자 지정 작업에서의 다음 요청.

Session.FeatureRequestState("MyFeature")=3

FeatureRequestState가 호출되면 설치 관리자는 지정된 기능에 연결된 각 구성 요소의 작업 상태를 가능한 한 지정된 상태로 설정하려고 시도합니다. 그러나 요청을 완전히 적용할 수 없는 일반적인 상황이 있습니다. 예를 들어 한 기능이 FeatureComponents 테이블을 통해 구성 요소 A와 구성 요소 B라는 두 구성 요소에 연결되고 구성 요소 A에는 msidbComponentAttributesLocalOnly 특성이 있고 구성 요소 B에는 msidbComponentAttributesSourceOnly 특성이 있습니다. 이 경우 FeatureRequestState가 msiInstallStateLocal 또는 msiInstallStateSource 중 하나의 요청된 상태로 호출되는 경우 두 구성 요소 모두에 대해 요청을 적용할 수 없습니다. 이 경우 구성 요소 A를 msiInstallStateLocal로 설정하고 구성 요소 B를 msiInstallStateSource로 설정하여 두 구성 요소를 모두 설정할 수 있습니다.

두 개 이상의 기능이 단일 구성 요소에 연결된 경우 해당 구성 요소의 최종 작업 상태는 다음과 같이 결정됩니다. 하나 이상의 기능이 구성 요소를 로컬로 설치하도록 요구하는 경우 msiInstallStateLocal로 설치됩니다. 하나 이상의 기능이 원본 미디어에서 구성 요소를 실행하도록 요구하는 경우 msiInstallStateSource로 설치됩니다. 하나 이상의 기능이 구성 요소 제거를 호출하는 경우 작업 상태는 msiInstallStateAbsent입니다. 설치를 위해 기능을 선택하는 방법에 대한 자세한 내용은 기능 테이블을 참조하세요.

속성이 실패하면 LastErrorRecord 메서드를 사용하여 확장된 오류 정보를 가져올 수 있습니다.

요구 사항

요구 사항
버전
Windows Server 2012, Windows 8, Windows Server 2008 R2 또는 Windows 7의 Windows Installer 5.0. Windows Server 2008 또는 Windows Vista의 Windows Installer 4.0 또는 Windows Installer 4.5. Windows Server 2003 또는 Windows XP의 Windows Installer
DLL
Msi.dll
IID
IID_ISession 000C109E-0000-0000-C000-000000000046으로 정의됩니다.

추가 정보

세션

기능