ICE92
ICE92는 구성 요소 ID GUID가 없는 구성 요소도 영구 구성 요소로 지정되지 않는지 확인합니다. 이 ICE 사용자 지정 작업은 ComponentId 필드에 GUID가 지정되지 않은 구성 요소에 대해 Component 테이블을 확인하고 msidbComponentAttributesPermanent 플래그가 Attributes 필드에 설정되지 않은지 확인합니다. ICE92는 구성 요소에 msidbComponentAttributesPermanent 및 msidbComponentAttributesUninstallOnSupersedence 특성이 모두 없는지도 확인합니다.
ComponentId 열이 null이면 설치 관리자가 구성 요소를 등록하지 않으므로 설치 관리자가 구성 요소를 제거하거나 복구할 수 없습니다.
결과
ICE92는 다음 오류를 게시합니다.
ICE92 오류 | 설명 |
---|---|
구성 요소 '[1]'에 ComponentId가 없으며 영구로 표시됩니다. | Component 테이블의 이 구성 요소 항목에는 ComponentId 열에 null이 있고 Attributes 열에 msidbComponentAttributesPermanent가 있습니다. |
ICE92는 다음 경고를 게시합니다.
ICE92 경고 | 설명 |
---|---|
구성 요소 '[1]'은 영구적이고 uninstall-on-supersedence 상태로 표시됩니다. 구성 요소가 영구적이므로 uninstall-on-supersedence 특성은 무시됩니다. | Component 테이블의 이 구성 요소 항목에는 msidbComponentAttributesPermanent 및 msidbComponentAttributesUninstallOnSupersedence 특성이 모두 지정되어 있습니다. |
예
ICE92는 예제에 대해 다음 오류를 보고합니다.
The Component 'Component1' has no ComponentId and is marked as permanent.
Component 테이블(부분)
구성 요소 | ComponentId | Directory_ | 특성 | KeyPath |
---|---|---|---|---|
Component1 | DirectoryA | 16 | FileA |
관련 항목