ICE92

ICE92는 구성 요소 ID GUID가 없는 구성 요소도 영구 구성 요소로 지정되지 않는지 확인합니다. 이 ICE 사용자 지정 작업은 ComponentId 필드에 GUID가 지정되지 않은 구성 요소에 대해 Component 테이블을 확인하고 msidbComponentAttributesPermanent 플래그가 Attributes 필드에 설정되지 않은지 확인합니다. ICE92는 구성 요소에 msidbComponentAttributesPermanentmsidbComponentAttributesUninstallOnSupersedence 특성이 모두 없는지도 확인합니다.

ComponentId 열이 null이면 설치 관리자가 구성 요소를 등록하지 않으므로 설치 관리자가 구성 요소를 제거하거나 복구할 수 없습니다.

결과

ICE92는 다음 오류를 게시합니다.

ICE92 오류 설명
구성 요소 '[1]'에 ComponentId가 없으며 영구로 표시됩니다. Component 테이블의 이 구성 요소 항목에는 ComponentId 열에 null이 있고 Attributes 열에 msidbComponentAttributesPermanent가 있습니다.

 

ICE92는 다음 경고를 게시합니다.

ICE92 경고 설명
구성 요소 '[1]'은 영구적이고 uninstall-on-supersedence 상태로 표시됩니다. 구성 요소가 영구적이므로 uninstall-on-supersedence 특성은 무시됩니다. Component 테이블의 이 구성 요소 항목에는 msidbComponentAttributesPermanentmsidbComponentAttributesUninstallOnSupersedence 특성이 모두 지정되어 있습니다.

 

ICE92는 예제에 대해 다음 오류를 보고합니다.

The Component 'Component1' has no ComponentId and is marked as permanent.

Component 테이블(부분)

구성 요소 ComponentId Directory_ 특성 KeyPath
Component1   DirectoryA 16 FileA

 

ICE 참조