Во время моего NSIS установки скрипта для приложения WinForms, я использую следующую CACLS команды, чтобы дать группе пользователей полных прав на подпапки:CACLS спутанность
Exec 'CACLS "$INSTDIR\SubFolder" /E /T /C /G "Users":F'
Так действуют в CACLS команды выполнился это что-то вроде:
CACLS "c:\Program Files\MyApp\SubFolder" /E /T /C /G "Users":F
Когда я смотрю на то разрешения папок в проводнике Windows (щелкните правой кнопкой мыши на папке и выберите Свойства, перейдите на вкладку Безопасность), правильные разрешения есть, но они неизменяемое.
Кроме того, нажатие кнопки «Дополнительно» для «Расширенных настроек безопасности» показывает, что SubFolder наследует права группы «Пользователи» от «родительского объекта», но что такое родительский объект, поскольку это не папка выше.
Почему разрешения, добавленные CACLS uneditable, и почему они унаследованы от несуществующего родительского объекта? Я думаю, что я, возможно, неправильно определил параметры CACLS.
Я нахожусь в Windows XP.
Я посмотрел на все родительские папки, и разрешения, похоже, не пришли оттуда. Спасибо за предложение плагина. – codeulike
+1 для подключаемого модуля AccessControl. Он отлично работал для меня, и я бы рекомендовал его, потому что он использует Windows API, а не в зависимости от наличия такой утилиты, как cacls на целевой машине. –