세션 개체(Windows Installer)

Session 개체는 설치 프로세스를 제어합니다. 설치 테이블과 데이터가 포함된 Installer 데이터베이스를 엽니다. 이 개체는 각각 하나 이상의 테이블에서 데이터에 대해 특정 작업을 수행하는 표준 작업 함수 집합과 연결됩니다. 특정 제품 설치에 대한 추가 사용자 지정 작업이 추가될 수 있습니다. 기본 엔진 함수는 지정된 시퀀스 테이블에서 순차 레코드를 가져오고, 지정된 조건 식을 평가하고, 지정된 작업을 실행하는 시퀀서입니다. 엔진에서 인식할 수 없는 작업은 처리를 위해 UI 처리기 개체(일반적으로 대화 상자 시퀀스)로 지연됩니다.

단일 프로세스에서는 하나의 Session 개체만 열 수 있습니다.

멤버

Session 개체에는 다음과 같은 유형의 멤버가 있습니다.

메서드

Session 개체에는 다음과 같은 메서드가 있습니다.

메서드 설명
DoAction 지정된 작업을 호출합니다.
EvaluateCondition 기호와 값이 포함된 논리 식을 평가하고 msiEvaluateConditionErrorEnum 열거형의 정수를 반환합니다.
FeatureInfo 지정된 기능에 대한 설명 정보가 포함된 FeatureInfo 개체를 반환합니다.
FormatRecord 템플릿 및 레코드 데이터에서 서식이 지정된 문자열을 반환합니다.
메시지 활성화된 로깅 작업을 수행하고 엔진과 연결된 UI 처리기 개체에 대한 실행을 연기합니다.
시퀀스 지정한 테이블에서 쿼리를 열고 시퀀스 열의 숫자로 작업을 정렬합니다. 제공된 조건 식이 False로 평가되지 않는 경우 가져온 각 행에 대해 DoAction 메서드가 호출됩니다.
SetInstallLevel 현재 설치의 설치 수준을 지정된 값으로 설정하고 모든 기능에 대해 선택 및 설치됨 상태를 다시 계산합니다.

 

속성

Session 개체에는 다음과 같은 속성이 있습니다.

속성 액세스 유형 설명
ComponentCosts
구성 요소를 설치하는 데 필요한 드라이브당 디스크 공간을 열거하는 RecordList 개체를 반환합니다.
ComponentCurrentState
지정된 구성 요소의 현재 설치된 상태를 반환합니다.
ComponentRequestState
구성 요소 테이블에서 행의 작업 상태 변경을 가져오거나 요청합니다.
데이터베이스
현재 설치 세션의 데이터베이스를 반환합니다.
FeatureCost
지정된 기능 및 해당 부모 기능(기능 테이블의 루트까지)에 필요한 총 디스크 공간 크기(512바이트 단위)를 반환합니다.
FeatureCurrentState
지정된 기능의 현재 설치된 상태를 반환합니다.
FeatureRequestState
읽기/쓰기
기능 레코드 및 하위 레코드의 선택 상태 변경을 가져오거나 요청합니다.
FeatureValidStates
지정된 기능에 대한 유효한 설치 상태를 나타내는 각 관련 비트가 있는 비트 플래그를 나타내는 정수를 반환합니다.
설치 관리자
활성 설치 관리자 개체를 반환합니다.
Language(Session 개체)
현재 설치 세션에서 사용하는 숫자 언어 식별자를 나타냅니다.
모드
이 속성은 현재 설치 세션에 대해 지정된 모드 플래그를 나타내는 값입니다.
ProductProperty
명명된 설치 관리자 속성의 문자열 값을 나타냅니다.
Property(Session 개체)
읽기/쓰기
제품 데이터베이스에서 제품 속성을 검색합니다.
SourcePath
원본 미디어 또는 서버 이미지에서 지정된 폴더의 전체 경로를 제공합니다.
TargetPath
읽기/쓰기
설치 대상 드라이브의 지정된 폴더에 대한 전체 경로를 제공합니다.
VerifyDiskSpace
충분한 디스크 공간이 있으면 true를 반환하고 디스크가 가득 차면 false를 반환합니다.

 

요구 사항

요구 사항
버전
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으로 정의됩니다.

추가 정보

Windows Installer 스크립팅 예제