데이터베이스 함수

이 자료는 자체 설치 프로그램을 작성하는 개발자와 설치 관리자 데이터베이스 테이블에 대해 자세히 알고자 하는 개발자를 대상으로 합니다. 설치 관리자에 대한 일반적인 내용은 Windows Installer 정보를 참조하세요.

설치 관리자 액세스 함수를 사용하여 데이터베이스 및 설치 프로세스에 액세스할 수 있습니다. 이러한 함수는 사용자 지정 설치 작업 및 작성 도구에서만 사용해야 합니다. 일부 설치 관리자 액세스 함수에는 데이터베이스를 쿼리하기 위한 SQL 쿼리 문자열이 필요합니다. 쿼리는 설치 관리자 SQL 구문을 준수해야 합니다.

이 항목에서는 설치 관리자 데이터베이스 액세스 함수를 범주별로 나열합니다.

일반 데이터베이스 액세스 함수

함수 설명
MsiDatabaseCommit 데이터베이스에 변경 내용을 커밋합니다.
MsiDatabaseGetPrimaryKeys 모든 기본 키 열의 이름을 반환합니다.
MsiDatabaseIsTablePersistent 테이블의 상태를 설명하는 열거형을 반환합니다.
MsiDatabaseOpenView 데이터베이스 쿼리를 준비하고 뷰 개체를 만듭니다.
MsiGetActiveDatabase 설치의 활성 데이터베이스를 반환합니다.
MsiViewGetColumnInfo 열 이름 또는 정의를 반환합니다.
MsiOpenDatabase 데이터 액세스를 위해 데이터베이스 파일을 엽니다.
MsiViewClose 실행된 뷰의 결과 집합을 릴리스합니다.
MsiViewExecute 뷰 쿼리를 실행하고 필요한 매개 변수를 제공합니다.
MsiViewFetch 뷰에서 다음 순차 레코드를 가져옵니다.
MsiViewGetError MsiViewModify 함수에서 발생한 오류를 반환합니다.
MsiViewModify 가져온 레코드를 업데이트합니다.

 

데이터베이스 관리 함수

함수 설명
MsiCreateTransformSummaryInfo 기존 변환의 요약 정보를 만듭니다.
MsiDatabaseApplyTransform 데이터베이스에 변환을 적용합니다.
MsiDatabaseExport 열려 있는 데이터베이스에서 텍스트 보관 파일로 테이블을 내보냅니다.
MsiDatabaseGenerateTransform 두 데이터베이스 간의 차이점에 대한 변환 파일을 생성합니다.
MsiDatabaseImport 설치 관리자 텍스트 보관 테이블을 열린 데이터베이스로 가져옵니다.
MsiDatabaseMerge 두 데이터베이스를 함께 병합합니다.
MsiGetDatabaseState 데이터베이스의 상태를 반환합니다.

 

레코드 처리 함수

함수 설명
MsiCreateRecord 지정된 수의 필드를 사용하여 새 레코드 개체를 만듭니다.
MsiFormatRecord 형식 문자열을 사용하여 레코드 필드 데이터 및 속성을 형식화합니다.
MsiRecordClearData 레코드의 모든 필드를 null로 설정합니다.
MsiRecordDataSize 레코드 필드의 길이를 반환합니다.
MsiRecordGetFieldCount 레코드의 필드 수를 반환합니다.
MsiRecordGetInteger 레코드 필드에서 정수 값을 반환합니다.
MsiRecordGetString 레코드 필드의 문자열 값을 반환합니다.
MsiRecordIsNull 레코드 필드가 null인지 여부를 보고합니다.
MsiRecordReadStream 레코드 스트림 필드에서 버퍼까지 바이트를 읽습니다.
MsiRecordSetInteger 레코드 필드를 정수 필드로 설정합니다.
MsiRecordSetStream 파일에서 레코드 스트림 필드를 설정합니다.
MsiRecordSetString 지정된 필드에 문자열을 복사합니다.

 

요약 정보 속성 함수

함수 설명
MsiGetSummaryInformation 설치 관리자 데이터베이스의 요약 정보 스트림에 대한 핸들을 가져옵니다.
MsiSummaryInfoGetProperty 요약 정보에서 단일 속성을 가져옵니다.
MsiSummaryInfoGetPropertyCount 요약 정보 스트림의 속성 수를 반환합니다.
MsiSummaryInfoPersist 변경된 요약 정보를 요약 정보 스트림에 다시 씁니다.
MsiSummaryInfoSetProperty 단일 요약 정보 속성을 설정합니다.

 

설치 관리자 상태 액세스 함수

함수 설명
MsiGetLanguage 현재 설치의 숫자 언어를 반환합니다.
MsiGetLastErrorRecord 호출 프로세스에 대해 마지막으로 반환된 오류 레코드를 반환합니다.
MsiGetMode 부울 내부 설치 상태 중 하나를 반환합니다.
MsiGetProperty 설치 관리자 속성의 값을 가져옵니다.
MsiSetProperty 설치 속성의 값을 설정합니다.
MsiSetMode 내부 엔진 부울 상태를 설정합니다.

 

설치 관리자 작업 함수

함수 설명
MsiDoAction 기본 제공 작업, 사용자 지정 작업 또는 사용자 인터페이스 마법사 작업을 실행합니다.
MsiEvaluateCondition 속성 이름 및 값을 포함하는 조건식을 평가합니다.
MsiProcessMessage 처리를 위해 설치 관리자에 오류 레코드를 보냅니다.
MsiSequence 작업 시퀀스를 실행합니다.

 

설치 관리자 위치 함수

함수 설명
MsiGetSourcePath 디렉터리 테이블의 폴더에 대한 전체 원본 경로를 반환합니다.
MsiGetTargetPath 디렉터리 테이블의 폴더에 대한 전체 대상 경로를 반환합니다.
MsiSetTargetPath 디렉터리 테이블의 폴더에 대한 전체 대상 경로를 설정합니다.

 

설치 관리자 선택 함수

함수 설명
MsiEnumComponentCosts 구성 요소를 설치하는 데 필요한 드라이브당 디스크 공간을 열거합니다.
MsiGetComponentState 구성 요소의 상태를 가져옵니다.
MsiGetFeatureCost 기능에 필요한 디스크 공간을 반환합니다.
MsiGetFeatureState 기능의 상태를 가져옵니다.
MsiGetFeatureValidStates 유효한 설치 상태를 반환합니다.
MsiSetComponentState 구성 요소를 지정된 상태로 설정합니다.
MsiSetFeatureAttributes 런타임에 기능의 기본 특성을 수정합니다.
MsiSetFeatureState 기능을 지정된 상태로 설정합니다.
MsiSetInstallLevel 전체 제품 설치의 설치 수준을 설정합니다.
MsiVerifyDiskSpace 충분한 디스크 공간을 확인합니다.

 

사용자 인터페이스 함수

함수 설명
MsiEnableUIPreview 사용자 인터페이스의 미리 보기 모드를 사용하도록 설정합니다.
MsiPreviewBillboard 표시된 대화 상자에 호스트 컨트롤이 있는 광고판을 표시합니다.
MsiPreviewDialog 대화 상자를 모덜리스 및 비활성으로 표시합니다.

 

모든 함수는 ANSI 및 유니코드 호출을 모두 지원합니다. 이러한 함수를 사용하려면 MsiQuery.h를 포함하고 Msi.lib와 연결합니다.

설치 함수

위에 나열된 데이터베이스 액세스 함수 외에도 설치 관리자 함수 참조 섹션에 나열된 설치 관리자 함수를 사용하여 애플리케이션에 대한 설치 패키지를 만듭니다.