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