2013-04-26 5 views
1

저는 WiX를 처음 사용합니다. WiX v3.0 사용.현재 사용자에게 설치된 응용 프로그램에 대한 전체 액세스 권한 허용 방법 프로그램 파일 폴더

응용 프로그램에 대해 하나의 설치 프로그램을 만들고 싶습니다.

응용 프로그램을 설치하면 C:\Program Files\Appln\에 설치됩니다.
내 응용 프로그램을 설치하는 동안 전체 액세스 제어Appln 폴더로 보내고 싶습니다.

가능합니까? 폴더에 대한 전체 액세스 제어 권한을 수동으로 설정하고 싶지 않습니다.

+0

응용 프로그램이 사용자 별 * 용으로 설계된 경우 설치 프로그램을 컴퓨터 별 설치에서 사용자 별 *로 전환 할 수 있습니다. 이런 식으로 응용 프로그램은 사용자 프로필에 설치되므로 사용자는 응용 프로그램 폴더에 대한 전체 쓰기 권한을 갖습니다. –

답변

1

처음에는 권장되는 디자인이 아닙니다. 사용자는 여러 가지 이유로 ProgramFilesFolder의 내용을 수정할 수 없어야합니다. 그러나 Permission 요소를 사용하여이 작업을 수행 할 수 있습니다.

<Directory Id='TARGETDIR' Name='SourceDir'> 
    <Directory Id='ProgramFilesFolder' Name='PFiles'> 
     <Directory Id='ApplnFolder' Name='Appln'/> 
    </Directory> 
</Directory> 

<Component Id='GrantTooManyPermissionsToApplnFolder' Directory='ApplnFolder' 
      Guid='PUT-GUID-HERE'> 
    <CreateFolder> 
     <Permission GenericAll='yes' User='[UserSID]' /> 
    </CreateFolder> 
</CreateFolder> 

중요한 부분이 CreateFolderPermission 요소가 있습니다 : 그것은 조금처럼 보일 것입니다. CreateFolder의 기본값은 Directory이며 Component이며 Permission 요소를 걸 수있는 곳이 있습니다. Permission 요소는 꽤 자명합니다. UserSID 속성은 built-in MSI property입니다.

+0

이것은 또한 다른 사용자 계정에서 응용 프로그램이 올바르게 작동하지 않음을 의미합니다. –

+1

사실입니다. 이것은 정말 열악한 디자인입니다. 'UserSID' 대신에'Everyone'에 대한 액세스 권한을 부여 할 수는 있지만 안전성이 낮아집니다. –

+0

안전하지 않습니다. 나는 OP가이 접근 방식으로 직면 할 수있는 또 다른 문제를 강조하고 싶었다. –