다음을 통해 공유


지연된 실행 사용자 지정 작업에 대한 컨텍스트 정보 가져오기

설치 스크립트가 작성된 설치 세션 외부에서 설치 스크립트를 실행할 수 있으므로 설치 스크립트를 실행하는 동안 세션이 더 이상 존재하지 않을 수 있습니다. 이 경우 설치 시퀀스 중에 설정된 원래 세션 핸들 및 속성을 지연된 실행 사용자 지정 작업에 사용할 수 없습니다. 세션 핸들이 필요한 함수는 컨텍스트 정보를 검색할 수 있는 몇 가지 메서드로 제한되거나 스크립트 실행 중에 필요한 속성을 설치 스크립트에 기록해야 합니다. 예를 들어 DLL(동적 연결 라이브러리)을 호출하는 지연된 사용자 지정 작업은 매우 제한된 양의 정보를 얻는 데만 사용할 수 있는 핸들을 전달합니다. 세션 핸들이 필요하지 않은 함수는 지연된 사용자 지정 작업에서 액세스할 수 있습니다.

지연된 실행 사용자 지정 작업은 핸들이 필요한 다음 함수만 호출하도록 제한됩니다.

함수 설명
MsiGetProperty 지연된 실행 사용자 지정 작업(CustomActionData 속성, ProductCode 속성 및 UserSID 속성)과 함께 사용할 경우 제한된 속성 집합을 지원합니다. 커밋 사용자 지정 작업MsiGetProperty 함수를 사용하여 ProductCode 속성을 가져올 수 없습니다. 커밋 사용자 지정 작업은 CustomActionData 속성을 사용하여 제품 코드를 가져올 수 있습니다.
MsiFormatRecord 지연된 실행 사용자 지정 작업(CustomActionData 및 ProductCode 속성)과 함께 사용할 경우 제한된 속성 집합을 지원합니다.
MsiGetMode 지연된 실행 사용자 지정 작업, 커밋 사용자 지정 작업 또는 롤백 사용자 지정 작업에서 호출되는 경우 MsiGetMode는 모드 매개 변수 MSIRUNMODE_SCHEDULED, MSIRUNMODE_COMMIT 또는 MSIRUNMODE_ROLLBACK를 확인하도록 요청되면 True 또는 False를 반환합니다. 지연, 커밋 또는 롤백 사용자 지정 작업에서 다른 실행 모드 매개 변수를 확인하라는 요청은 False를 반환합니다.
MsiGetLanguage 현재 제품의 숫자 언어 ID입니다. 커밋 사용자 지정 작업MsiGetLanguage 함수를 사용할 수 없습니다. 커밋 사용자 지정 작업은 CustomActionData 속성을 사용하여 숫자 언어 ID를 가져올 수 있습니다.
MsiProcessMessage 사용자 지정 작업에서 오류 또는 진행률 메시지를 처리합니다.

 

JScript 또는 VBScript로 작성된 사용자 지정 작업에는 설치 Session 개체가 필요합니다. 이는 세션 개체 형식이며 설치 관리자는 “세션”이라는 이름으로 스크립트에 연결합니다. 설치 롤백 중에 세션 개체가 없을 수 있으므로 스크립트로 작성된 지연된 사용자 지정 작업은 세션 개체의 다음 메서드 또는 속성 중 하나를 사용하여 컨텍스트를 검색해야 합니다.

속성 설명
Mode 속성 MSIRUNMODE_SCHEDULED의 경우에만 True를 반환합니다.
속성 속성(세션 개체) CustomActionData 속성, ProductCode 속성 또는 UserSID 속성을 반환합니다.
언어 속성(세션 개체) 설치 세션의 숫자 언어 ID를 반환합니다.
Message 메서드 오류 및 진행률을 처리하기 위해 호출됩니다.
Installer 속성 레지스트리 액세스 및 설치 관리자 구성 관리와 같은 비 세션 함수에 사용되는 부모 개체를 반환합니다.

 

설치 시퀀스가 스크립트로 처리될 때 설정된 속성 값은 스크립트 실행 시 사용할 수 없습니다. 스크립트 실행 중에는 다음과 같은 제한된 속성 집합만 항상 사용자 지정 작업에 액세스할 수 있습니다.

속성 이름 설명
CustomActionData 시퀀스 테이블에서 사용자 지정 작업이 처리될 때의 값입니다. CustomActionData 속성은 지연된 실행 사용자 지정 작업에만 사용할 수 있습니다. 즉각적인 사용자 지정 작업은 이 속성에 액세스할 수 없습니다.
ProductCode 제품에 대한 고유 코드, GUID 문자열입니다.
UserSID 설치 관리자가 사용자의 SID(보안 식별자)로 설정합니다.

 

지연된 실행 사용자 지정 작업에 다른 속성 데이터가 필요한 경우 해당 값은 설치 스크립트에 저장되어야 합니다. 이 작업은 두 번째 사용자 지정 작업을 사용하여 수행할 수 있습니다.

지연된 실행 사용자 지정 작업 중에 사용할 설치 스크립트에 속성 값을 쓰려면

  1. 관심 있는 속성을 지연된 실행 사용자 지정 작업과 이름이 같은 속성으로 설정하는 작은 사용자 지정 작업을 설치 시퀀스에 삽입합니다. 예를 들어 지연된 실행 사용자 지정 작업의 기본 키가 “MyAction”인 경우 “MyAction”이라는 속성을 검색해야 하는 속성 X로 설정합니다. “MyAction” 사용자 지정 작업 전에 설치 시퀀스에서 “MyAction” 속성을 설정해야 합니다. 모든 유형의 사용자 지정 작업이 컨텍스트 데이터를 설정할 수 있지만 가장 간단한 방법은 속성 할당 사용자 지정 작업(예: 사용자 지정 작업 유형 51)을 사용하는 것입니다.
  2. 설치 시퀀스가 처리될 때 설치 관리자는 속성 X의 값을 CustomActionData 속성의 값으로 실행 스크립트에 씁니다.

속성 정보

속성 사용

속성 참조