ICE02
ICE02는 Component, File 및 Registry테이블 간의 특정 참조가 상호적인지 유효성을 검사합니다. 구성 요소의 설치 상태를 올바르게 확인하려면 설치 관리자가 이러한 참조를 상호 참조해야 합니다.
설치 관리자는 Component 테이블의 KeyPath 열을 사용하여 Component 열에 나열된 구성 요소의 존재를 검색합니다. KeyPath 열에는 레지스트리 또는 파일 테이블에 대한 키가 포함되어 있습니다. 이 두 테이블에는 레지스트리 항목 또는 파일을 제어하는 구성 요소를 가리키는 Component 테이블로 돌아가는 키가 포함된 Component_ 열이 있습니다. 이러한 참조는 상호적이어야 합니다.
ICE02는 상호적이어야 하면서 그렇지 않은 참조를 찾으면 오류 메시지를 게시합니다.
ICE02는 아래에 표시된 데이터베이스 항목을 포함하는 .msi 파일에 대해 다음 오류 메시지를 게시합니다.
File: 'Red_File' cannot be the key file for Component: 'Blue'. The file belongs to Component: 'Red'
Component 테이블(부분)
구성 요소 | KeyPath |
---|---|
빨강 | Red_File |
파랑 | Red_File |
File 테이블(부분)
File 열 | Component_ |
---|---|
Red_File | 빨강 |
Blue_File | 파랑 |
구성 요소 Blue는 Red_File을 참조하지만 Red_File은 구성 요소 Blue로 제어되지 않으므로 KeyPath 파일이 될 수 없습니다. 설치 관리자가 Blue의 설치 상태를 가져오기 위해 호출된 경우 Red_File의 설치 여부를 틀리게 확인합니다. Component 테이블에서 Blue에 대한 KeyPath 필드를 Blue_File로 변경하면 오류가 해결됩니다.