2012-02-14 1 views
3

WiX를 통해 MSI를 구축 했으므로 사용자별로 대상 폴더에 대한 권한이있는 경우 UAC 프롬프트가 표시되지 않습니다. 그러나 대상 폴더가 Program Files에 있으면 "Insuficient privileges"로 오류가 발생합니다.기본적으로 사용자 별 MSI가 아닌 - 폴더에 쓰기위한 권한 상승 프롬프트를 표시하는 방법?

대상 폴더에 쓸 수없는 경우 UAC 프롬프트를 표시하려면 어떻게해야합니까?

답변

4

실제로 그렇게 작동하지 않습니다. 사용자 단위 설치는 표고를 필요로하지 않아야하며 프로그램 파일에 쓰지 말아야합니다. 대신 % LocalAppData % \ Programs \ Company \ Product에 설치해야합니다.

자세한 내용은 다음을 참조하십시오. 부품 적용 및 부품이 범위를 벗어나는 될 수있다 (이중 사용자 별/시스템 별 요구 사항) :

Authoring a single package for Per-User or Per-Machine Installation context in Windows 7

0

나는이 오래된 스레드 알지만, 나는 그것이라고 그것을 건너 다른 사람을 수 있도록하려면 참으로 가능합니다.

이전 답변에서 언급했듯이 일반적인 사용자 별 설치에는 관리자 권한이 필요하지 않습니다. 그러나 나는 관리자 권한이 필요한 사용자 지정 작업을 실행해야하는 완벽하게 유효한 상황을 발견했습니다. 높은 권한으로 명령 줄에서 msiexec로 MSI를 실행하도록 사용자를 허용하는 것은 용인 할만한 해결책이 아닙니다.

이렇게 어려운 것은 아니지만 운좋게도 나는 비틀 거리며 대답을 발견했습니다 this post : Package/@ InstallScope 속성은 사용자별로 상승 된 패키지를 지원하지 않습니다! 그래서 당신의 패키지 정의에 생략 :

<!-- NOTE: If you need to create a per-user installation (meaning it's not --> 
<!-- visible in Add/Remove Programs from other logons) that prompts for --> 
<!-- elevation, omit both the Package/@InstallPrivileges="elevated" and 
<!-- Package/@InstallScope="perUser". --> 
<Package InstallerVersion="200" Compressed="yes" /> 

뿐만 아니라, 정의되지 않은 ALLUSERS를 떠날 것을 잊지 마십시오. 나는 나의 블로그에 이것을 더 기술했다 :

How to Elevate a Per User Installer Using WiX