내부 일관성 계산기 사용
데이터베이스의 유효성을 검사하려면 특수 유효성 검사 도구를 사용하여 ICE( 내부 일관성 평가기)가 포함된 .cub 파일을 데이터베이스에 병합하고 ICE를 실행하고 결과를 보고합니다. 이와 같은 몇 가지 도구는 Microsoft Windows SDK(소프트웨어 개발 키트)에 제공됩니다. 타사 공급업체의 제작 환경은 ICE 유효성 검사 시스템을 제작 환경에 통합할 수도 있습니다. ICE 유효성 검사를 수행하기 위해 사용자 고유의 도구를 작성할 수도 있습니다. 대부분의 ICE 유효성 검사 도구는 .cub 파일과 데이터베이스를 세 번째 임시 데이터베이스로 병합합니다. Windows Installer는 .cub 파일에서 각 ICE를 실행할 때 경고, 오류, 디버깅 정보 및 API 오류를 표시합니다. 설치 관리자가 ICE 실행을 완료하면 변경 내용을 저장하지 않고 .msi 파일, .cub 파일 및 임시 데이터베이스를 닫습니다. .msi 파일 및 .cub 파일은 유효성 검사 테스트에 의해 변경되지 않은 상태로 유지됩니다.
ICE 사용자 지정 작업은 MsiProcessMessage를 호출하고 INSTALLMESSAGE_USER 메시지를 게시하여 사용자에게 통신합니다. ICE 메시지는 일반적으로 다음과 같은 정보를 반환합니다.
- 오류를 발견한 ICE의 이름
- ICE를 만든 날짜
- ICE 작성자
- ICE가 마지막으로 수정된 날짜
- ICE가 실패하는 API 오류에 대한 설명
- 오류 설명
- 사용자에게 경고
- 오류 또는 경고가 포함된 데이터베이스 테이블의 이름
- 오류 또는 경고가 포함된 테이블 열의 이름
- 오류 또는 경고가 포함된 테이블의 기본 키
- 디버깅 제안을 제공하는 HTML 파일에 대한 URL
- 다른 정보를 포함할 수 있는 문자열
설치 패키지 작성자는 ICE 사용자 지정 작업을 작성하거나 SDK와 함께 제공되는 .cub 파일에 포함된 표준 ICE 집합을 사용할 수 있습니다. ICE를 작성하는 방법에 대한 자세한 내용은 ICE 빌드를 참조하세요.
유효성 검사를 위해 적절한 ICE를 작성한 후 개발자는 ICE와 필요한 테이블만 포함하는 .cub 파일이라는 .msi 데이터베이스로 사용자 지정 작업을 함께 수집해야 합니다. .cub 파일은 설치할 수 없으며 ICE 사용자 지정 작업에 대한 액세스를 저장하고 제공하는 데만 사용됩니다. .cub 파일을 만드는 방법에 대한 자세한 내용은 ICE 데이터베이스 빌드를 참조하세요. 또는 개발자는 ICE 참조에 설명된 기존 ICE를 사용하여 설치 패키지의 유효성을 검사할 수 있습니다. 해당 ICE는 SDK와 함께 제공되는 표준 .cub 파일에서 가져올 수 있습니다.
데이터베이스 테이블 편집기 Orca 또는 유효성 검사 도구 msival2를 설치에는 Logo.cub, Darice.cub 및 Mergemod.cub 파일이 포함되어 있습니다. Logo.cub 파일의 ICE 집합은 Darice.cub 파일에 있는 ICE의 하위 집합입니다. 패키지가 Darice.cub를 사용하여 유효성 검사를 통과하면 Logo.cub와 함께 통과됩니다. Mergemod.cub에는 병합 모듈의 유효성을 검사하는 데 사용되는 ICE 집합이 포함되어 있습니다. 자세한 내용은 모듈 ICE 참조 병합을 참조하세요.
설치 패키지의 유효성 검사 방법
- 적절한 ICE 사용자 지정 작업을 가져오거나 작성합니다. ICE 참조에 설명된 기존 ICE 중 하나 이상을 사용할 수 있습니다. 유효성 검사 시 아직 이 목록에 포함되지 않은 ICE가 필요한 경우 ICE 빌드에 설명된 대로 새 ICE를 만들 수 있습니다.
- 모든 ICE 사용자 지정 작업을 포함하는 ICE 데이터베이스를 준비합니다. .cub 파일 준비에 대한 자세한 내용은 ICE 데이터베이스 빌드 섹션을 참조하세요.
- .cub 파일 및 .msi 파일을 Orca.exe 또는 Msival2.exe 같은 패키지 유효성 검사 도구에 제공합니다.
병합 모듈 유효성 검사에 설명된 대로 병합 모듈의 유효성을 검사해야 합니다.