Я прочитал все связанные темы и не нашел полного ответа на мою проблему.
Я хотел бы предоставить полные разрешения для системных и Read и Execute разрешений для группы пользователей в папку в Program Files. Ничего больше, не меньше.
Я знаю, что есть 3 способа предоставить разрешения для папки с помощью WIX, ни один из них не очень хорош для меня, и я объясню, почему:
1) Обычный элемент разрешений:
<CreateFolder Directory="Test">
<Permission User="SYSTEM" GenericAll="yes"/>
<Permission User="Users" Domain="[LOCAL_MACHINE_NAME]"
GenericRead="yes" Read="yes" GenericExecute="yes" ChangePermission="yes"/>
</CreateFolder>
Проблема: Он не работает на внешней ОС, так как он не знает ключевое слово "Пользователи". Я попробовал это с SID. Кроме того, мне нужно разместить элемент Permission под каждым файлом в тестовом каталоге (но если это был единственный случай, я бы справился)
2) Элемент VixUtilsExtension PermissionEx:
<CreateFolder Directory="Test">
<util:PermissionEx User="SYSTEM" GenericAll="yes"/>
<util:PermissionEx User="Users" Domain="[LOCAL_MACHINE_NAME]"
GenericRead="yes" Read="yes" GenericExecute="yes" ChangePermission="yes"/>
</CreateFolder>
Проблема: В папке также сохраняются разрешения по умолчанию для папки Program Files. Я не могу этого допускать.
3) PermissionEx с Sddl:
Проблема: Этот элемент доступен только при установке с MSI 5.0. Я использую installer 3.01.
Я буду рад получить любое решение, включая решения с пользовательскими действиями...