Windows는 제거를 위해 MSI 파일을 어디에 저장합니까?


25

Windows (XP-7)가 MSI 파일의 설치 및 제거를 처리하는 방법을 알아 내려고합니다. 원본 MSI 파일이 없기 때문에 Windows Installer가 제거 할 수없는 상황이 발생하여 설치된 모든 MSI 패키지의 복사본을 어딘가에 저장한다고 생각합니다. 어디에?

나는 몇 가지 이론을 가지고 있습니다.

  1. 설치된 폴더와 같은 폴더에있을 것으로 예상합니다. 레지스트리 키 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall는 원래 설치 폴더를 가리키고 MSI 파일이 누락 될 때 발생하는 오류 메시지는 종종이를 가리 킵니다. 이 폴더에서 MSI 파일을 제거해도 제거 프로세스가 방해받지 않으므로이 이론을 거부했습니다.

  2. C:\Windows\Installer. 이 폴더에는 실제로 임의로 무작위로 명명 된 MSI 파일이 포함되어 있습니다. 그러나이 목록은 불완전합니다. 이 폴더에 MSI 사본이없는 1)에서 언급 한 레지스트리 키의 항목을 찾습니다.

어떻게 작동합니까? MSI가 1)이 아니고 2)가 아닌데도 Windows 설치 프로그램이 어떻게 MSI 설치 응용 프로그램을 제거 할 수 있습니까?


Windows가 항상이를 유지하지는 않습니다. 사용자가 Windows에 실제로 이러한 파일의 캐시를 지우도록 지시하는 방법에는 여러 가지가 있습니다. 제거 할 수없는 소프트웨어가있는 경우 개발자가 설치 프로그램을 잘못 빌드했음을 의미합니다. Windows XP (지원되지 않는 운영 체제가 걱정되는 이유)와 Windows 7 및 / 또는 Windows 8의 위치가 다를 수 있습니다.
Ramhound

답변:


44

분명히 그것은 다음과 같이 작동합니다 (Windows 7의 경우 XP 및 기타 OS에 대해 모르겠습니다).

사용자가 일부 앱을 설치하면 Windows는 다음을 수행합니다.

1) 레지스트리 키를 만듭니다.

HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ [제품 ID GUID]

이 응용 프로그램.

앱 설치 프로그램의 원본 msi 파일에 액세스 할 수있는 경우 orca.exe에서 msi 파일을 열고 orca의 왼쪽에서 "속성"을 클릭하고 "ProductCode"를 찾아 [ProductID GUID]를 찾을 수 있습니다. 오른쪽에 선. 원본 * .msi 파일에 액세스 할 수없는 경우 레지스트리 키 HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall에서 앱 이름을 검색하면됩니다.

제어판의 설치된 앱 목록에서 앱을 삭제 (예 : 제거를 거부)하려는 경우이 제거 키에서 항목을 삭제할 수 있습니다. 제어판의 목록에서 반드시 사라지지만 Windows는 여전히 기억합니다. 예를 들어, 동일한 앱의 다음 버전을 설치하려고하면 설치 프로그램에서 여전히 이전 버전을 제거해야 할 수도 있습니다. 이에 대해서는 항목 2를 참조하십시오.

2) Windows는 원본 * .msi 파일을 C : \ Windows \ Installer 폴더에 복사하고 임의의 이름으로 바꿉니다 (.msi 확장자는 유지). Windows는 또한이 레지스트리 키의 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\[InternalUserId]\Products\[some random guid-like sequence of chars identifying to windows your installation]\InstallProperties.ValueName "LocalPackage" 에 레지스트리에 키를 생성 하여 이름이 바뀐 msi 파일을 가리 킵니다. C : \ windows \ Installer에서 파일을 찾으려면 Windows 탐색기에서이 폴더로 이동하여 자세히보기로 전환하고 "제목"열을 표시하면 모든 nnnnnnnn.msi에 해당 제품 이름이 표시됩니다.


6
숨겨진 비밀에 대해 두 번 당신에게 투표를하고 싶습니다 make column "Subject" visible and you will see for all nnnnnnnn.msi fies their corresponding name of product.. Windows는 그런 신비한 운영 체제입니다 : P
RBT

3) 3 단계가 필요했습니다. 제거 프로그램이 파일을 수락하기 전에 5188bfc6.msi 파일 (hex # .msi)을 복사하여 원래 파일 이름 MyApp.msi로 이름을 바꿨습니다. 이 제거 후 정상적으로 작동했습니다.
Joe B
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.