在我的 WinForms 应用程序的NSIS设置脚本中,我使用以下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 资源管理器中查看文件夹权限时(右键单击文件夹并选择属性,转到安全选项卡),正确的权限在那里,但它们是不可编辑的。
此外,单击“高级安全设置”的高级按钮显示子文件夹正在从“父对象”继承“用户”组权限,但该父对象是什么,因为它不是上面的文件夹。
为什么 CACLS 添加的权限是不可编辑的,为什么它们是从不存在的父对象继承的?我想我可能在 CACLS 上设置了错误的选项。
我在 Windows XP 上。