ICE32

ICE32는 .msi 파일의 키와 외세 키가 크기 및 열 정의 형식이 같은지 확인합니다. 이 ICE 사용자 지정 작업은 _Validation 테이블을 사용하고 MsiViewGetColumnInfo에서 반환되는 정의 형식을 사용하여 비교합니다. 자세한 내용은 열 정의 형식을 참조하세요.

결과

ICE32는 .msi 파일에 다른 열 길이 또는 열 데이터 형식의 키에 대한 외세 키가 포함된 경우 오류를 게시합니다.

예제

ICE32는 표시된 예제에 대해 두 가지 오류를 게시합니다.

  • 크기가 다른 외래 키와 키가 정의되어 있습니다.
  • 정의 형식이 다른 외래 키와 키가 정의되어 있습니다.

_Validation 테이블 (부분)

테이블 KeyTable KeyColumn
파일 Version 파일 1
플랩 열8 플랩 1

 

열 정의(부분)

테이블 형식 크기
파일 파일 72
파일 버전 S 32
플랩 열1 i 2
플랩 열8 S 32

 

파일 테이블의 버전 열은 파일 테이블의 다른 파일에 대한 외래 키일 수 있습니다. 이 문제는 도우미 파일에서 발생합니다. 그러나 버전 열은 문자열 길이 32만 허용하는 반면 파일 열은 문자열 길이 72를 허용합니다. 이 오류를 해결하려면 문자열 길이가 일치하도록 변경합니다.

정의 형식이 다른 외래 키와 키가 정의되어 있습니다. Flap 테이블의 Column8은 Column1의 외래 키로 나열됩니다. Column8은 문자열 열이고 Column1은 정수 열입니다. 외래 키 및 키 쌍은 데이터 형식이 일치하도록 정의해야 합니다.

ICE 참조