2014-10-28 2 views
10

정확하게 작동하려면 승격 된 권한이 필요한 WIX를 사용하여 MSI를 만들었습니다. MSI는 프로젝트에서, 내가 WIX Burn Bootstrapper가 내 MSI에 대한 관리자 권한을 요청하지 않습니다.

<Package [...] InstallPrivileges="elevated" /> 

를 통해이 규정은 지금은 WixWPF Bootstrapper를 기반으로, 사용자 정의 bootsrapper 프로젝트에이 MSI 포함되어 있습니다. 부트 스트 래퍼 자체가 기계 상태를 변경해서는 안되며 높은 권한이 필요하지 않습니다.

이제 Bootstrapper가 승격 된 권한으로 통합 MSI를 자동으로 실행하여 필요한 경우 UAC 대화 상자를 표시합니다. 그러나 그렇지 않습니다. 대신 설치가 실패합니다. 그러나 부트 스트 래퍼를 관리자 권한으로 명시 적으로 실행하면 작동합니다.

MSI를 설치할 때 부트 스트 래퍼가 승격 된 권한을 요청하도록하려면 어떻게해야합니까?

+0

MSI에 대해이 속성을 설정 했습니까? InstallScope = "perMachine" – Isaiah4110

+0

@ Isaiah4110 해당 속성을 설정하지 않았습니다. 내가 지금 내 프로젝트에 액세스 할 수 없기 때문에 그것이 어떤 차이가 있는지 내일 확인할 것입니다. 감사! –

+0

@ Isaiah4110 고마워, 그게 다야! 이 질문을 답으로 게시하면 기꺼이 받아 들일 것입니다. –

답변

13

MSI의 INSTALLSCOPE 속성이 설정되지 않았으므로 기본적으로 사용자 단위 설치이며 부트 스트 래퍼 응용 프로그램은이를 실행하기 위해 ADMIN/Elevated 권한이 필요하지 않다고 간주합니다.

이제는 귀하가 MSI의 작성자이며 InstallSope를 패키지 요소에 추가하기가 쉽습니다. 당신은 MSI의 저자가 아닌 경우

InstallScope="perMachine" 

는 여전히 부트 스트 래퍼를 사용하면 MSI/EXE에 대한 당 기계를 강제하는 데 사용할 수있는 속성을 제공합니다.

  1. MSIPackage - ForcePerMachine
  2. EXEPackage - PerMachine

는 왜 부트 스트 래퍼는 당 기계 상승 요구 권한 및 사용자 별 나던를 설치하는 것이 생각합니까? 간단하고 사용자 단위 설치의 경우 레지스트리 값은 HKEY_CURRENT_USER 아래에 기록되며 컴퓨터 단위 설치의 경우 레지스트리 값은 HKEY_LOCAL_MACHINE 아래에 기록됩니다. 관리자 만 HKLM을 읽고 쓸 수 있습니다.

+0

감사합니다. 추가 배경 정보에 감사드립니다. –

관련 문제