사용자 지정 작업 유형 17
이 사용자 지정 작업은 C 또는 C++로 작성된 DLL(동적 연결 라이브러리)을 호출합니다.
원본
DLL은 현재 세션 중에 애플리케이션과 함께 설치됩니다. CustomAction 테이블의 Source 필드에는 File 테이블에 대한 키가 포함되어 있습니다. 사용자 지정 작업 코드의 위치는 이 파일의 대상 경로 확인에 따라 결정됩니다. 따라서 해당 파일이 설치된 후 제거되기 전에 이 사용자 지정 작업을 호출해야 합니다.
Type 값
CustomAction 테이블의 Type 열에 다음 값을 포함하여 기본 숫자 형식을 지정합니다.
상수 | 16진수 | Decimal |
---|---|---|
msidbCustomActionTypeDll + msidbCustomActionTypeSourceFile | 0x011 | 17 |
대상
DLL은 CustomAction 테이블의 Target 필드에 지정된 진입점을 통해 호출되어 현재 설치 세션에 대한 핸들에 해당하는 단일 인수를 전달합니다. 테이블에 지정된 진입점 이름은 DLL에서 내보낸 이름과 일치해야 합니다. 항목 함수가 .DEF 파일 또는 /EXPORT: 링커 사양에 의해 지정되지 않은 경우 이름 앞에 밑줄과 "@4" 접미사가 있을 수 있습니다. 호출된 함수는 __stdcall 호출 규칙을 지정해야 합니다.
반환 처리 옵션
CustomAction 테이블의 Type 열에 선택적 플래그 비트를 포함하여 반환 처리 옵션을 지정합니다. 옵션 및 값에 대한 설명은 사용자 지정 작업 반환 처리 옵션을 참조하세요.
실행 예약 옵션
CustomAction 테이블의 Type 열에 선택적 플래그 비트를 포함하여 실행 예약 옵션을 지정합니다. 이러한 옵션은 사용자 지정 작업의 여러 실행을 제어합니다. 옵션에 대한 설명은 사용자 지정 작업 실행 예약 옵션을 참조하세요.
스크립트 내 실행 옵션
CustomAction 테이블의 Type 열에 선택적 플래그 비트를 포함하여 스크립트 내 실행 옵션을 지정합니다. 이러한 옵션은 실행, 롤백 또는 커밋 스크립트에 작업 코드를 복사합니다. 옵션에 대한 설명은 사용자 지정 작업 스크립트 내 실행 옵션을 참조하세요.
반환 값
사용자 지정 작업 반환 값을 참조하세요.
설명
DLL(동적 연결 라이브러리)을 호출하는 사용자 지정 작업에는 설치 세션에 대한 핸들이 필요합니다. 또한 지연된 실행 사용자 지정 작업인 경우 설치 스크립트를 실행하는 동안 세션이 더 이상 존재하지 않을 수 있습니다. 이 유형의 사용자 지정 작업이 컨텍스트 정보를 가져오는 방법에 대한 자세한 내용은 지연된 실행 사용자 지정 작업에 대한 컨텍스트 정보 가져오기를 참조하세요.
사용자 지정 작업은 별도의 스레드에서 실행되며 시스템에 대한 액세스가 제한될 수 있습니다. 비동기식으로 실행되는 사용자 지정 작업은 반환될 때까지 현재 시퀀스 또는 설치 세션 종료 시 주 스레드를 차단합니다.
사용자 지정 작업 유형 17(DLL)과 같이 설치된 파일을 원본으로 참조하는 사용자 지정 작업은 다음 시퀀싱 제한 사항을 준수해야 합니다.
- 사용자 지정 작업은 CostFinalize 작업 후에 순서를 지정해야 합니다. 이렇게 하면 사용자 지정 작업이 DLL을 찾는 데 필요한 경로를 확인할 수 있습니다.
- 원본 파일이 컴퓨터에 아직 설치되어 있지 않은 경우 이 유형의 지연된(스크립트 내) 사용자 지정 작업은 InstallFiles 작업 후에 순서를 지정해야 합니다.
- 원본 파일이 컴퓨터에 아직 설치되어 있지 않은 경우 이 유형의 지연되지 않은 사용자 지정 작업은 InstallFinalize 작업 후에 순서를 지정해야 합니다.
관련 항목