2012-09-06 1 views
0

Windows Installer에는 레지스트리 값을 HKEY_CURRENT_USER 또는 HKEY_LOCAL_MACHINE (WiX에서 Root="HKMU")으로 저장할지 여부를 자동으로 결정하는 스마트 기능이 있습니다.사용자 지정 작업으로 로컬 컴퓨터 레지스트리에 쓰기 (조건부로)

설치하는 동안 복잡한 레지스트리 키를 써야하므로이 작업을 위해 사용자 지정 작업을 만들었습니다. ALLUSERS이 설정되었는지 여부에 따라 HKEY_CURRENT_USER 또는 HKEY_LOCAL_MACHINE이 사용자 지정 동작에 사용되는 위치가됩니다.

불행히도 ALLUSERS 설치에서 설치가 관리자로 시작되지 않는 한 사용자 지정 작업에 HKEY_LOCAL_MACHINE에 쓸 수있는 권한이 없다는 것을 알아야합니다. HKEY_LOCAL_MACHINE에 글을 쓸 수 있지만 사용자 별 설치 옵션은 계속 유지하려면 어떻게해야합니까?

답변

1

사용자 지정 작업을 사용하지 않으면 ugprades, 롤백, 제거 등과 같은 Windows Installer의 다른 모든 스마트 기능이 손실됩니다.

대신 자신의 구성 요소에 레지스트리 값을 넣고 구성 요소에 조건을 지정하십시오. 조건이 true로 평가되면 구성 요소와 관련 레지스트리 리소스가 설치됩니다.

Privileged property을 살펴보십시오. 그것은 당신이 당신의 평가를하기 위해 찾고있는 것처럼 들립니다.

+0

귀하의 조언에 감사드립니다. 이제 조건이 첨부 된 설치 프로그램 구성 요소로 최대한 이동했습니다. 이로 인해 Windows Installer에서 실현할 수없는 단일 요구 사항이 남아 있으므로 컴퓨터 별 시나리오에서만 실행되는 사용자 지정 작업이 있습니다. –

+0

때때로 소프트웨어가 이미 설치되었다는 표시와 같이 레지스트리 항목을 롤백하지 않을 수도 있습니다. – Pierre

+0

그러면 영구 부품이됩니다. –