다음을 통해 공유


제거할 수 없는 패치

패치를 제거할 수 있는지 여부는 패치 작성 방법, 패치를 설치하는 데 사용된 Windows Installer 버전 및 애플리케이션에 대한 패치의 변경 내용에 따라 달라집니다. 패치를 제거할 수 없는 경우 패치를 제거하는 유일한 방법은 제거되는 패치를 적용하지 않고 전체 애플리케이션을 제거하고 다시 설치하는 것입니다.

명령줄 옵션, MsiRemovePatches 함수 또는 제거 패치 섹션에 설명된 대로RemovePatches 메서드를 사용하여 Windows Installer 버전 3.0에 적용된 패치의 제거를 호출할 수 있습니다. Windows Installer는 MSIPATCHREMOVE 속성에서 제거를 위해 나열된 각 패치를 제거할 수 없는지 확인합니다. 사용자에게 패치를 제거할 권한이 없거나, 제품에 대한 패치를 알 수 없거나, 패치 정책에서 제거를 방지하거나, 패치를 제거할 수 없는 것으로 표시된 경우 설치 관리자는 실패한 설치 트랜잭션을 나타내는 오류를 반환합니다.

Windows Installer 2.0: 지원되지 않습니다. Windows Installer 3.0 이전 버전의 Windows Installer를 사용하여 적용된 패치는 제거할 수 없습니다.

제거할 수 없는 패치

설치된 애플리케이션에 적용된 패치(.msp 파일)는 다음 경우에 제거할 수 없습니다. 제거할 수 없는 패치를 제거하는 유일한 방법은 패치가 적용된 애플리케이션을 제거한 다음 패치를 다시 적용하지 않고 애플리케이션을 다시 설치하는 것입니다. 이 경우 애플리케이션에서 제거하지 않으려는 패치를 다시 적용해야 합니다.

  • Windows Installer 3.0보다 작은 Windows Installer 버전을 사용하여 적용된 패치는 제거할 수 없습니다.

  • 관리자가 설정한 DisablePatchUninstall 정책이 있는 컴퓨터에 설치된 애플리케이션에 적용된 패치는 제거할 수 없습니다. 이 컴퓨터 정책설정된 경우 관리자가 컴퓨터에 패치를 제거할 수 없습니다.

  • 데이터베이스에 MsiPatchMetadata 테이블이 없는 패치는 제거할 수 없습니다.

  • MsiPatchMetadata 테이블에 다음 행을 포함하지 않는 패치는 제거할 수 없습니다. 회사, 속성 및 값의 다른 값에는 패치를 제거할 수 없습니다.

    회사 재산
    {Null} AllowRemoval 1

     

  • 패치는 사용자가 패치를 제거할 권한이 부족한 컨텍스트에 설치된 애플리케이션에 적용되었습니다. 다음 표의 "허용 안 함"이라는 단어는 관리자 또는 관리자가 아닌 사용자가 이 컨텍스트에 설치된 패치된 애플리케이션에서 패치를 제거할 수 없음을 나타냅니다. 이 표에서 "허용됨"이라는 단어는 권한으로 인해 관리자 또는 관리자가 아닌 사용자가 패치를 제거할 수 없도록 하지만 이 섹션에서 설명하는 다른 이유로 인해 패치를 제거하지 못할 수도 있음을 의미합니다.

    애플리케이션 설치 컨텍스트 관리자 패치 제거 비관리자 패치 제거
    Per-Machine 허용 일반적으로 허용되지 않음 유일한 예외는 LUA(패치)를 사용하여 패치를 적용한 경우입니다. LUA 패치로 표시된 패치는 관리자 또는 관리자가 아닌 사용자가 제거할 수 없습니다. LUA 패치는 미디어에서 컴퓨터별로 설치된 패키지에만 사용할 수 있으며 특별한 작성이 필요합니다.
    현재 사용자에 대해 관리하지 않는 사용자 Per-User 허용 허용
    다른 사용자에 대해 관리하지 않는 Per-User 허용되지 않음 허용되지 않음
    Per-User 현재 사용자에 대해 관리 허용 허용되지 않음
    다른 사용자에 대해 관리되는 Per-User 허용되지 않음 허용되지 않음

     

  • 패치에 의해 적용되는 주요 업그레이드 제거할 수 없습니다. 애플리케이션의 주요 업그레이드는 패치가 아닌 업그레이드된 애플리케이션(.msi 파일)을 설치하여 수행해야 합니다.

  • 관리 설치에 적용된 패치는 제거할 수 없습니다. 관리 설치를 패치하는 것은 권장되지 않습니다. 사용자가 관리 이미지에서 애플리케이션을 설치한 후 사용자의 컴퓨터에 현재 패치 집합을 적용해야 합니다. 이렇게 하면 사용자 컴퓨터에 캐시된 패키지 코드 관리 설치의 패키지 코드와 달라지는 것을 방지할 수 있습니다. 사용자 컴퓨터에 캐시된 패키지 코드가 관리 설치 시의 패키지 코드와 다른 경우 관리 설치에서 애플리케이션을 다시 설치한 다음 클라이언트 컴퓨터를 패치합니다.

  • 패치가 다음 목록의 테이블에 새 콘텐츠를 추가하는 경우 Windows Installer는 패치를 제거할 수 없는 것으로 표시합니다. 제거할 수 없는 패치는 이 목록에 포함되지 않은 데이터베이스 테이블에 새 행을 추가하여 설치에 새 파일, 어셈블리, 레지스트리 항목, 구성 요소 또는 기능을 추가할 수 있습니다.

패치 시퀀싱

패치 제거

패치 제거

패치 제거 사용자 지정 작업

MSIPATCHREMOVE

msiEnumapplicationsEx

MsiGetPatchInfoEx

MsiRemovePatches