ICE32
ICE32는 .msi 파일의 키와 외래 키의 크기 및 열 정의 형식이 같은지 확인합니다. 이 ICE 사용자 지정 작업은 _Validation 테이블을 사용하고 MsiViewGetColumnInfo에서 반환되는 정의 형식을 사용하여 비교합니다. 자세한 내용은 열 정의 형식을 참조하세요.
결과
ICE32는 .msi 파일에 열 길이 또는 열 데이터 형식이 다른 키에 대한 외래 키가 포함된 경우 오류를 게시합니다.
예
ICE32는 표시된 예제에 대해 두 가지 오류를 게시합니다.
- 크기가 다른 외래 키와 키가 정의되어 있습니다.
- 정의 형식이 다른 외래 키와 키가 정의되어 있습니다.
_Validation 테이블(부분)
테이블 | 열 | KeyTable | KeyColumn |
---|---|---|---|
파일 | Version | 파일 | 1 |
Flap | 열8 | Flap | 1 |
열 정의(부분)
테이블 | 열 | 형식 | 크기 |
---|---|---|---|
파일 | 파일 | 초 | 72 |
파일 | 버전 | S | 32 |
Flap | 열1 | i | 2 |
Flap | 열8 | S | 32 |
파일 테이블의 버전 열은 파일 테이블의 다른 파일에 대한 외래 키일 수 있습니다. 이 문제는 도우미 파일에서 발생합니다. 그러나 Version 열은 32자의 문자열 길이만 허용하는 반면 File 열은 72자의 문자열 길이를 허용합니다. 이 오류를 해결하려면 문자열 길이가 일치하도록 변경합니다.
정의 형식이 다른 외래 키와 키가 정의되어 있습니다. Flap 테이블의 Column8은 Column1의 외래 키로 나열됩니다. Column8은 문자열 열이고 Column1은 정수 열입니다. 외래 키 및 키 쌍은 데이터 형식이 일치하도록 정의해야 합니다.
관련 항목