다음을 통해 공유


지연된 실행 사용자 지정 작업

지연된 실행 사용자 지정 작업의 목적은 설치 스크립트가 실행되는 시간으로 시스템 변경 실행을 지연시키는 것입니다. 이는 일반 사용자 지정 작업 또는 표준 작업과 다르며, 설치 관리자가 시퀀스 테이블 또는 MsiDoAction 호출 시 즉시 작업을 실행합니다. 지연된 실행 사용자 지정 작업을 사용하면 패키지 작성자가 설치 스크립트 실행 내의 특정 지점에서 시스템 작업을 지정할 수 있습니다.

설치 관리자는 설치 시퀀스가 처리될 때 지연된 실행 사용자 지정 작업을 실행하지 않습니다. 대신 설치 관리자는 사용자 지정 작업을 설치 스크립트에 씁니다. 이 경우 설치 관리자가 설정하는 유일한 모드 매개 변수는 MSIRUNMODE_SCHEDULED입니다. 실행 모드 매개 변수에 대한 설명은 MsiGetMode를 참조하세요.

지연된 실행 사용자 지정 작업은 스크립트 생성을 수행하는 섹션 내의 실행 시퀀스 테이블에서 예약되어야 합니다. 지연된 실행 사용자 지정 작업은 InstallInitialize 이후와 작업 시퀀스에서 InstallFinalize 앞에 와야 합니다.

속성, 기능 상태, 구성 요소 상태 또는 대상 디렉터리를 설정하거나 행을 시퀀스 테이블에 삽입하여 시스템 작업을 예약하는 사용자 지정 작업은 대부분의 경우 즉시 실행을 안전하게 사용할 수 있습니다. 그러나 시스템을 직접 변경하거나 다른 시스템 서비스를 호출하는 사용자 지정 작업은 설치 스크립트가 실행되는 시점으로 연기되어야 합니다. 사용자 지정 작업과 기본 설치 스레드 간의 잠재적 충돌에 대한 자세한 내용은 동기 및 비동기 사용자 지정 작업을 참조하세요.

설치 스크립트가 작성된 설치 세션 외부에서 설치 스크립트를 실행할 수 있으므로 설치 스크립트를 실행하는 동안 세션이 더 이상 존재하지 않을 수 있습니다. 즉, 설치 시퀀스 중에 원래 세션 핸들 및 속성 데이터 세트를 지연된 실행 사용자 지정 작업에 사용할 수 없습니다. DLL(동적 연결 라이브러리)을 호출하는 지연된 사용자 지정 작업은 지연된 실행 사용자 지정 작업에 대한 컨텍스트 정보 가져오기에 설명된 대로 매우 제한된 양의 정보만 가져오는 데 사용할 수 있는 핸들을 전달합니다.

롤백 사용자 지정 작업커밋 사용자 지정 작업을 포함하여 지연된 사용자 지정 작업은 사용자 보안 컨텍스트 외부에서 실행할 수 있는 유일한 작업 유형입니다.

사용자 지정 작업 스크립트 내 실행 옵션

사용자 지정 작업 참조