2013-04-26 7 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> 

Важные частями являются CreateFolder и Permission элементов. CreateFolder по умолчанию DirectoryComponent и дает место для повесить элемент Permission. Элемент Permission довольно понятен. Объект UserSID - built-in MSI property.

+0

Это также означает, что приложение не будет работать правильно под другой учетной записью пользователя. –

+1

Это правда. Это очень плохой дизайн. Вы можете предоставить доступ к «Каждому», а не к «UserSID», но это делает его даже «менее» безопасным. –

+0

Это не безопасно. Я просто хотел подчеркнуть еще одну проблему, с которой OP может столкнуться с этим подходом. –