다음을 통해 공유


MsiCreateTransformSummaryInfoA 함수(msiquery.h)

MsiCreateTransformSummaryInfo 함수는 유효성 검사 및 오류 조건을 포함하도록 기존 변환의 요약 정보를 만듭니다. 이 함수를 실행하면 MsiGetLastErrorRecord를 사용하여 액세스할 수 있는 오류 레코드가 설정됩니다.

구문

UINT MsiCreateTransformSummaryInfoA(
  [in] MSIHANDLE hDatabase,
  [in] MSIHANDLE hDatabaseReference,
  [in] LPCSTR    szTransformFile,
  [in] int       iErrorConditions,
  [in] int       iValidation
);

매개 변수

[in] hDatabase

새 데이터베이스 요약 정보가 포함된 데이터베이스에 대한 핸들입니다.

[in] hDatabaseReference

원래 요약 정보가 포함된 데이터베이스에 대한 핸들입니다.

[in] szTransformFile

요약 정보가 추가되는 변환의 이름입니다.

[in] iErrorConditions

변환을 적용할 때 표시하지 않아야 하는 오류 조건입니다. 다음 값 중 하나 이상을 사용합니다.

오류 조건 의미
없음
0x00000000
다음 조건 중 어느 것도 없습니다.
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x00000001
존재하는 행을 추가합니다.
MSITRANSFORM_ERROR_DELMISSINGROW
0x00000002
존재하지 않는 행을 삭제합니다.
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x00000004
존재하는 테이블 추가.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x00000008
존재하지 않는 테이블을 삭제합니다.
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x00000010
존재하지 않는 행을 업데이트합니다.
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x00000020
변환 및 데이터베이스 코드 페이지가 일치하지 않으며 해당 코드 페이지는 중립적입니다.

[in] iValidation

데이터베이스에 변환을 적용할 수 있는지 확인하기 위해 유효성을 검사할 속성을 지정합니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.

유효성 검사 플래그 의미
없음
0x00000000
속성의 유효성을 검사하지 마세요.
MSITRANSFORM_VALIDATE_LANGUAGE
0x00000001
기본 언어는 기본 데이터베이스와 일치해야 합니다.
MSITRANSFORM_VALIDATE_PRODUCT
0x00000002
제품은 기본 데이터베이스와 일치해야 합니다.
 

제품 버전 플래그의 유효성을 검사합니다.

유효성 검사 플래그 의미
MSITRANSFORM_VALIDATE_MAJORVERSION
0x00000008
주 버전만 확인합니다.
MSITRANSFORM_VALIDATE_MINORVERSION
0x00000010
주 버전과 부 버전만 확인합니다.
MSITRANSFORM_VALIDATE_UPDATEVERSION
0x00000020
주 버전, 부 버전 및 업데이트 버전을 확인합니다.
 

제품 버전 관계 플래그입니다. 다음 표에서 설치된 버전은 변환 중인 패키지의 버전이며 기본 버전은 변환을 만드는 데 사용되는 패키지의 버전입니다.

유효성 검사 플래그 의미
MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION
0x00000040
설치된 버전 < 기본 버전입니다.
MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION
0x00000080
설치된 버전 <= 기본 버전입니다.
MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION
0x00000100
설치된 버전 = 기본 버전입니다.
MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION
0x00000200
설치된 버전 >= 기본 버전입니다.
MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION
0x00000400
설치된 버전 > 기본 버전입니다.
 

코드 유효성 검사 플래그를 업그레이드합니다.

유효성 검사 플래그 의미
MSITRANSFORM_VALIDATE_UPGRADECODE
0x00000800
UpgradeCode는 기본 데이터베이스와 일치해야 합니다.

반환 값

이 함수는 UINT를 반환합니다.

설명

ProductCode 속성 및 ProductVersion 속성은 기본 데이터베이스와 참조 데이터베이스의 속성 테이블에 정의되어야 합니다. MSITRANSFORM_VALIDATE_UPGRADECODE 사용하는 경우 UpgradeCode 속성도 두 데이터베이스에 정의해야 합니다. 이러한 조건이 충족되지 않으면 MsiCreateTransformSummaryInfo 는 ERROR_INSTALL_PACKAGE_INVALID 반환합니다.

  • 파일 이름 또는 경로는 변환, 원본 및 패치에 대한 목록 구분 기호로 사용되므로 세미콜론을 사용하지 마세요.
  • 이 함수는 사용자 지정 작업에서 호출할 수 없습니다. 사용자 지정 작업에서 이 함수를 호출하면 함수가 실패합니다.

참고

msiquery.h 헤더는 MSiCreateTransformSummaryInfo를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Server 2012, Windows 8, Windows Server 2008 R2 또는 Windows 7의 Windows Installer 5.0. Windows Server 2008 또는 Windows Vista의 Windows Installer 4.0 또는 Windows Installer 4.5. Windows Server 2003 또는 Windows XP의 Windows Installer
대상 플랫폼 Windows
헤더 msiquery.h
라이브러리 Msi.lib
DLL Msi.dll

추가 정보

데이터베이스 변환

요약 정보 스트림 속성 집합