Как применить разрешения папок в Wix, сохраняя существующие разрешения, но без рекурсии?

StackOverflow https://stackoverflow.com//questions/9702383

Вопрос

Следующее будет применяться (изменять) разрешения рекурсивно, а уважение текущих разрешений:

<util:PermissionEx User="[MYUSER]" Domain="[NT_DOMAIN]" GenericRead="yes" GenericWrite="yes" GenericExecute="yes" Delete="yes" DeleteChild="yes" />
.

Но я не хочу применить его рекурсивно!

Я хочу, чтобы это не рекурсивно, то есть только что папка и нет детей.

(Я считаю, что старый элемент очищает наследование разрешений из родительской папки, что означает, что это не хорошо для моих целей, так как я должен сохранить существующие разрешения).

Есть ли способ сказать разрешения, чтобы не применять разрешения рекурсивно?Могу ли я объединить узелки с разрешениями и разрешениями, чтобы получить желаемый эффект?Или мой единственный вариант выпустить пользовательскую командную строку действий в CACLS.EXE?

Это было полезно?

Решение

Я не уверен, какой из трех встроенных шаблонов (два из MSI и один из расширений Wix) обрабатывают этот сценарий.FWIW, я думаю, что это не функция объекта, который вы устанавливаете разрешения скорее функции всех дочерних объектов, которые выбрали наследование.Другими словами, родитель не соблюдает провозбучущую дочернее наследование.

Так что вам, возможно, придется сделать некоторое отражение всех детей, а затем установить их в блокировку пропогенности.Усилие и риск высоки, поэтому я задаюсь вопросом, почему это действительно необходимо, и если вы не можете просто создать свой собственный новый дочерний каталог и установить разрешения там таким образом, вам не нужно беспокоиться об этой проблеме.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top