다음을 통해 공유


ICE92

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

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

결과

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

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

 

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

ICE92 경고 묘사
구성 요소 '[1]'은(는) 영구 및 제거(uninstall-on-supersedence)로 표시됩니다. 제거 -on-supersedence 특성은 구성 요소가 영구적이므로 무시됩니다. 구성 요소 테이블 이 구성 요소의 항목에는 msidbComponentAttributesPermanent 및 지정된 msidbComponentAttributesUninstallOnSupersedence 특성이 모두 있습니다.

 

본보기

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

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

구성 요소 테이블(부분)

구성 요소 ComponentId 디렉토리_ 특성 KeyPath
Component1   DirectoryA 16 FileA

 

ICE 참조