[installer] wix ‘KeyPath’속성은 무엇입니까?

Wix ‘ KeyPath ‘속성 은 무엇입니까 ? 특히 다음 항목에 어떻게 적용됩니까?

<Component Id="ProgramMenuDir" Guid="*">
  <RemoveFolder Id="ProgramMenuDir" On="uninstall" />
  <RegistryValue Root="HKCU" Key="Software\CompName\AppName"
                 Type="string" Value="" KeyPath="yes" />
</Component>



답변

Rob Mensching은 다음과 같이 설명합니다 .

구성 요소에 대한 KeyPath는 Windows Installer가 컴퓨터에 구성 요소가 “존재”하는지 확인하는 데 사용하는 단일 리소스입니다.

즉, Windows Installer가 구성 요소를 설치할지 여부를 결정할 때 먼저 키 경로 리소스가 이미 있는지 확인합니다. 그렇다면 구성 요소의 리소스가 설치되지 않습니다.

keypath 리소스의 존재 여부는 MSI를 “복구”할 때 구성 요소가 손상되었거나 누락되었는지 여부도 결정합니다.

키 경로 리소스가 버전이 지정된 파일 인 경우 Windows Installer는 버전이 같거나 더 높은 파일을 찾은 경우에만 존재하는 것으로 간주합니다.

특정 예에서 제거시 폴더를 제거하는 구성 요소가 있습니다. 이 구성 요소는 지정된 레지스트리 키가 아직없는 경우 에만 설치 됩니다. 키 경로로 사용할 레지스트리 키를 추가하는 것은 바로 가기 와 같이 키 경로 자체로 사용할 수없는 리소스를 설치하는 구성 요소에 대한 키 경로가 필요할 때 일반적인 트릭 입니다.


답변