사용자 지정 작업 유형 1

이 사용자 지정 작업은 C 또는 C++로 작성된 DLL(동적 연결 라이브러리)을 호출합니다.

원본

DLL은 임시 이진 스트림에서 생성됩니다. CustomAction 테이블의 Source 필드에는 Binary 테이블에 대한 키가 포함되어 있습니다.

Binary 테이블의 Data 열에는 스트림 데이터가 포함됩니다. 각 행에 별도의 스트림이 할당됩니다. MsiRecordSetStream 다음에 MsiViewModify를 사용하여 레코드를 테이블에 삽입하는 방식으로 파일에서 새 이진 데이터를 삽입할 수 있습니다. 사용자 지정 작업이 호출되면 스트림 데이터가 임시 파일에 복사된 다음, 사용자 지정 작업의 유형에 따라 처리됩니다.

Type 값

CustomAction 테이블의 Type 열에 다음 플래그 비트를 포함하여 기본 숫자 형식을 지정합니다.

상수 16진수 Decimal
msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData 0x001 1

 

대상

DLL은 CustomAction 테이블의 Target 필드에 지정된 진입점을 통해 호출되어 현재 설치 세션에 대한 핸들에 해당하는 단일 인수를 전달합니다. 테이블에 지정된 진입점 이름은 DLL에서 내보낸 이름과 일치해야 합니다. 항목 함수가 .DEF 파일 또는 /EXPORT: 링커 사양에 의해 지정되지 않은 경우 이름 앞에 밑줄과 "@4" 접미사가 있을 수 있습니다. 호출된 함수는 __stdcall 호출 규칙을 지정해야 합니다.

반환 처리 옵션

CustomAction 테이블의 Type 열에 선택적 플래그 비트를 포함하여 반환 처리 옵션을 지정합니다. 옵션 및 값에 대한 설명은 사용자 지정 작업 반환 처리 옵션을 참조하세요.

실행 예약 옵션

CustomAction 테이블의 Type 열에 선택적 플래그 비트를 포함하여 실행 예약 옵션을 지정합니다. 이러한 옵션은 사용자 지정 작업의 여러 실행을 제어합니다. 옵션에 대한 설명은 사용자 지정 작업 실행 예약 옵션을 참조하세요.

스크립트 내 실행 옵션

CustomAction 테이블의 Type 열에 선택적 플래그 비트를 포함하여 스크립트 내 실행 옵션을 지정합니다. 이러한 옵션은 실행, 롤백 또는 커밋 스크립트에 작업 코드를 복사합니다. 옵션에 대한 설명은 사용자 지정 작업 스크립트 내 실행 옵션을 참조하세요.

반환 값

사용자 지정 작업 반환 값을 참조하세요.

설명

DLL(동적 연결 라이브러리)을 호출하는 사용자 지정 작업에는 설치 세션에 대한 핸들이 필요합니다. 또한 지연된 실행 사용자 지정 작업인 경우 설치 스크립트를 실행하는 동안 세션이 더 이상 존재하지 않을 수 있습니다. 이 유형의 사용자 지정 작업이 컨텍스트 정보를 가져오는 방법에 대한 자세한 내용은 지연된 실행 사용자 지정 작업에 대한 컨텍스트 정보 가져오기를 참조하세요.

데이터베이스 테이블을 내보낼 때 각 스트림은 기본 키를 파일 이름(Binary 테이블의 Name 열)으로 사용하고 기본 확장명이 ".ibd"인 테이블 이름을 딴 하위 폴더에 별도의 파일로 작성됩니다. 파일 시스템 또는 버전 제어 시스템에서 긴 파일 이름을 지원하지 않는 경우 이름은 8.3 형식을 사용해야 합니다. 영구 보관 파일은 스트림 데이터를 사용된 파일 이름으로 바꾸므로 테이블을 가져올 때 데이터를 찾을 수 있습니다.

Custom_Actions

동적 연결 라이브러리

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