레지스트리에서 중복되지만 다른 Windows 제거

레지스트리에서 중복되지만 다른 Windows 제거

HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall에서 GUID 키와 비 GUID 키의 차이점을 이해하려고 합니다.

어떤 것에는 매우 다른 UninstallString을 포함하는 GUID 키와 비 GUID 키가 있습니다. 예를 들어 Autodesk Revit에는 GUID 키에 좋은 UninstallString이 있습니다.

MsiExec.exe /X{7346B4A0-1900-0510-0000-705C0D862004})

그러나 비 GUID 키에서 UninstallString은 실제로 패치 문자열이라고 생각합니다.

C:\Program Files\Autodesk\Revit 2019\Setup\Setup.exe /P {7346B4A0-1900-0510-0000-705C0D862004} /M RVT /LANG en-US)

그러나 Autodesk Desktop App과 같은 다른 앱에는 GUID 키가 없으며 비 GUID 키의 UninstallString이 좋습니다.

C:\Program Files (x86)\Autodesk\Autodesk Desktop App\removeAdAppMgr.exe

이것이 정상적인 것인지, 아니면 Autodesk에서만 수행하는 이상한 일인지 궁금합니다. 그리고 다양한 Uninstall 폴더에 어떤 정보가 필요한지 자세히 설명하는 유용한 Microsoft 리소스가 있습니까? 지금까지는 자세한 내용을 찾을 수 없습니다.

편집: 비슷한 메모에서 Microsoft도 중복을 수행하지만 GUID는 그렇지 않은 것으로 나타났습니다. 다음은 동일한 DisplayName을 사용하지만 세 가지 다른 GUID가 참조된 세 가지 제거입니다. 또한 이들은 모두 x64 설치이지만 WOW6432Node에 있습니다. 불만스러운.

Visual C++ 2008 - x64 (KB958357) - v9.0.30729.177
C:\Windows\SysWOW64\msiexec.exe /x {8CCEA24C-51AE-3B71-9092-7D0C44DDA2DF} /qb+ REBOOTPROMPT=""

Visual C++ 2008 - x64 (KB958357) - v9.0.30729.177
C:\Windows\SysWOW64\msiexec.exe /x {C3A57BB3-9AA6-3F6F-9395-6C062BDD5FC4} /qb+ REBOOTPROMPT=""

Visual C++ 2008 - x64 (KB958357) - v9.0.30729.177
C:\Windows\SysWOW64\msiexec.exe /x {F6F09DD8-F39B-3A16-ADB9-C9E6B56903F9} /qb+ REBOOTPROMPT=""

답변1

좋은 답변이 이미 게시되었습니다. 귀하의 질문이 더 일찍 삭제되기 전에 제가 쓰기 시작한 내용을 계속 게시하겠습니다.

그만큼GUID열쇠는 일반적으로Windows Installer setups(파일*.MSI확장) - 기업에서 많이 사용되는 Microsoft 배포에 대한 오래된 표준입니다.

다양한 종류의 설치 프로그램이 있지만 일반적으로 setup.exe파일 로 래핑되거나 (이미 사용되지 않음), (신흥) 등과 MSI files같은 새로운 종류의 설치 프로그램 형식으로 포장 됩니다. 실제로 많은 가능성이 있습니다.APPXMSIX

오토데스크setup.ex을 기반으로 하지 않은 레거시 스타일 e 설치 프로그램을 사용하고 있는 것으로 보이지만 , 가 Windows Installer 패키지를 시작하는 래퍼일 Windows Installer가능성은 여전히 ​​있습니다 .setup.exe

다양한 유형의 설정 및 설정(예: 파일 추출)을 처리할 때 관련된 작업에 대한 정보에 대한 몇 가지 링크를 아래에 추가하겠습니다.


일부 링크:

유사한 내용에 대한 답변에는 다른 많은 링크가 포함되어 있습니다.

답변2

개발자는 애플리케이션을 만들 때 일반적으로 설치 방법을 선택합니다. 널리 사용되는 옵션 중 하나는 Windows Installer를 사용하여 MSI를 만드는 것입니다. MSI 파일은 기본적으로 Windows Installer에 소프트웨어 설치 방법(예: 삭제할 파일, 생성할 등록 ​​키, 생성할 서비스 등)을 알려주는 데이터베이스입니다. MSI 파일을 작성하는 데 널리 사용되는 도구는 다음과 같습니다.WiX또는InstallShield.

MSI 작성의 일부로 제품에는 ProductCode라는 고유 GUID가 할당되어야 합니다. 제거 키 아래에 표시되는 제품 코드입니다. UninstallString 값은 ProductCode를 사용합니다. Windows Installer는 이를 사용하여 /X 스위치를 사용하여 응용 프로그램을 제거할 수 있습니다.

개발자는 Windows Installer를 사용하지 않고 자신만의 설치 프로그램을 작성할 수도 있습니다. 하지만 프로그램 및 기능에 표시되도록 하려면 개발자가 해당 응용 프로그램에 대한 제거 키를 수동으로 생성해야 합니다. 최소한 DisplayName 및 UninstallString(심판). 애플리케이션을 식별하기 위해 GUID를 생성할 가능성은 없지만 그렇게 할 수 있습니다.

개발자가 사용자 정의 설치 프로그램을 만든 경우 개발자는 응용 프로그램을 제거하기 위한 몇 가지 방법도 제공해야 합니다. 결과적으로 대부분의 개발자는 UninstallString에서 가리키는 별도의 제거 응용 프로그램을 만듭니다. 이 응용 프로그램은 응용 프로그램을 수정, 복구 또는 제거하는 옵션을 제공하는 데 사용될 수도 있습니다.

정말 개발자의 취향이군요.

관련 정보