WiX 权限,如何用 DACL 标志表达“修改”

Rub*_*ink 5 permissions wix dacl create-directory

我正在尝试将自定义权限应用于文件夹作为 WiX 3.0.4318.0 安装程序的一部分。

就资源管理器中的安全属性 UI 而言,我想添加修改 BUILTIN\Users 的权限。显然,它需要能够抵抗用户名的本地化。因此,根据我迄今为止的研究,我至少想要:

<CreateFolder Directory="XYZ" >
    <PermissionEx User="[WIX_ACCOUNT_USERS]" 
         GenericRead="yes" GenericWrite="yes" Delete="Yes" />
</CreateFolder>
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 我在子目录中执行此操作 - 我是否正确地假设 Permission 和 PermissionEx 之间的选择没有实际意义?

  2. 资源管理器中文件夹权限对话框中的“修改”在权利方面映射到什么 - 我看到很多示例,人们将其转换为一个神奇的数字或一大组标志 - 其他人使用了什么(目的是允许创建、读取、写入、追加和删除,这在 UI 中最好用简单权限表示为“修改”)。我查看了底层权限,icacls告诉我它被称为“M”,但我无法将它们映射到“特定权限”(按照使用的术语icacls /?)。Windows 帮助中还有另一个映射表。有没有人得到有效的权威答案?

在关于 PermissionEx (WIX) 的问题上有一个非常类似的未回答的问题,将其作为重复引用是残酷但公平的。

Rub*_*ink 1

经过更多研究后,我的发现是:

  1. 在 3.0.5419.0 中,PermissionEx 与 util:"PermissionEx 与 Permission 没有实际意义,并且不需要像您在以前版本的网络上看到的那样的 Extended="true"。以前的版本在解析 BUILTIN\USERS 时会出现错误。
  2. 选择我选择的三个权利似乎达到了我的上下文的要求

我仍然对看到其他回复非常感兴趣,因为我仍然是 WiX 菜鸟。