MSI 소프트웨어 업데이트 등록 손상 문제를 해결하는 방법
이 문서에서는 소프트웨어 업데이트를 설치한 후 특정 제품에 대한 복구 또는 제거가 실패할 수 있는 문제를 해결합니다.
다음에 적용됩니다. Windows 10 - 모든 버전, Windows Server 2012 R2
원래 KB 번호: 971187
증상
소프트웨어 업데이트를 설치한 후 특정 제품에 대한 복구 또는 제거가 실패할 수 있습니다. MSI 로깅을 사용하도록 설정한 경우 로그에 다음 줄이 있습니다.
로컬 패치 ''를 찾을 수 없습니다. 원본에서 찾고 있습니다.
...
MainEngineThread가 1612를 반환하는 경우
레지스트리를 보면 다음 레지스트리 하위 키에서 소프트웨어 업데이트 캐시 등록이 누락된 것을 알 수 있습니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<SQUID>
해결 방법
중요
이 절, 방법 또는 작업에는 레지스트리를 수정하는 방법에 대한 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의하여 수행해야 합니다. 추가된 보호를 위해 레지스트리를 수정하기 전에 백업하세요. 그런 다음 문제가 발생할 경우 레지스트리를 복원할 수 있습니다.
이 문제를 해결하려면 다음 단계를 수행하십시오.
제품이 영향을 받는지 확인
이 작업을 수행하기 위해 다음 단계를 수행합니다.
다음 레지스트리 하위 키로 제품의 소프트웨어 업데이트 등록을 찾아야 합니다.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches
이 하위 키 아래에는 제품에 적용된 모든 소프트웨어 업데이트에 대한 하위 키가 있습니다.다음 형식의 각 하위 키에 대해 다음 단계를 수행하십시오.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>다음 하위 키가 있는지 확인
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>하위 키가 없는 경우 제품이 영향을 받는 것입니다. 2단계를 계속 진행합니다.
하위 키가 있는 경우 LocalPackage 문자열 값이 올바르게 설정되어 있는지, LocalPackage 문자열 값으로 참조되는 패키지도 있는지 확인합니다.
- LocalPackage 문자열 값 또는 참조된 패키지가 없는 경우 제품이 영향을 받는 것입니다. 2단계를 계속 진행합니다.
- 참조된 패키지가 있으며 추가 작업이 필요하지 않습니다.
소프트웨어 업데이트 캐시 레지스트리 세부 정보를 다시 만들 수 있습니다. 이렇게 하려면 다음 단계를 수행해야 합니다.
%windir%\installer *.msp에서 설치하려고 시도한 소프트웨어 \ 업데이트를 검색합니다. 요약 정보 스트림에서 소프트웨어 업데이트에 올바른 패치 GUID(Globally Unique Identifier)가 있으며 올바른 제품 GUID를 대상으로 하는지 확인합니다.
참고
이 디렉터리는 사용자당 설치 및 컴퓨터당 설치에 대한 캐시 역할을 하기 때문에 사용자당 설치를 사용하여 이 디렉터리의 소프트웨어 업데이트를 시뮬레이트할 수 있습니다.
다음 하위 키 만들기
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>참고
소프트웨어 업데이트 캐시 레지스트리를 다시 만드는 것이 보안상 위험합니다. 그러나 이 방법은 손상을 복구하는 유일한 방법입니다. 소프트웨어 업데이트가 올바른 소프트웨어 업데이트가 되어 보안 위험을 줄일 수 있습니다. 이렇게 하여 소프트웨어 업데이트 체크 체크um을 확인 합니다.
2단계에서 만든 레지스트리 하위 키에 LocalPackage 문자열 값을 생성합니다. LocalPackage 문자열 값이 소프트웨어 업데이트 경로로 설정되어 있는지 확인
나머지 소프트웨어 업데이트 참조를 삭제합니다. 이 작업을 수행하기 위해 다음 단계를 수행합니다.
다음 하위 키와
<PatchSQUID>"AllPatches" 다중 sz 값에서 제거합니다.HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches다음 레지스트리 하위 키 삭제:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Products\<ProductSQUID>\Patches\<PatchSQUID>다음 레지스트리 하위 키 삭제:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\<SID>\Patches\<PatchSQUID>참고
이 하위 키가 없는 경우 이 단계를 건너뜁.
제품이 컴퓨터당 설치된 경우 다음 단계를 따릅니다.
다음 하위 키 열기
HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\<ProductSQUID>\Patches- 문자열
<PatchSQUID>값이 있는 경우 삭제합니다. - 문자열
<PatchSQUID>값이 "Patches" Multi-sz 값에 있는 경우 문자열 값을<PatchSQUID>삭제합니다.
- 문자열
다음 레지스트리 하위 키가 있는 경우 삭제합니다.
HKEY_LOCAL_MACHINE\Software\Classes\Installer\Patches\<PatchSQUID>
제품이 사용자당 관리되지 않는 설치인 경우:
다음 레지스트리 하위 키 열기
HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\<ProductSQUID>\Patches- 문자열
<PatchSQUID>값이 있는 경우 삭제합니다. <PatchSQUID>"Patches" Multi-sz 값이 있는 경우 제거합니다.
- 문자열
다음 레지스트리 하위 키가 있는 경우 삭제합니다.
HKEY_CURRENT_USER\Software\Microsoft\Installer\Patches\<PatchSQUID>
제품이 사용자당 관리되는 설치인 경우:
다음 레지스트리 하위 키 열기
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Products\<ProductSQUID>\Patches- 문자열
<PatchSQUID>값이 있는 경우 삭제합니다. <PatchSQUID>"Patches" Multi-sz 값이 있는 경우 제거합니다.
- 문자열
다음 레지스트리 하위 키가 있는 경우 삭제합니다.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\<SID>\Installer\Patches\<PatchSQUID>
참조
이 문서는 업데이트 또는 Microsoft 업데이트에서 Windows 관련이 없습니다.