1

真的吗?

我正在尝试做这样的事情-

<PermissionEx
              User="Authenticated Users"
              GenericAll="yes"
              ServiceChangeConfig="yes"
              ServiceEnumerateDependents="yes"
              ChangePermission="yes"
              ServiceInterrogate="yes"
              ServicePauseContinue="yes"
              ServiceQueryConfig="yes"
              ServiceQueryStatus="yes"
              ServiceStart="yes"
              ServiceStop="yes" />

它给了我

缺少必需的属性“Sddl”。

不熟悉Sddl。如何创建 Sddl 字符串以匹配上述权限?

4

2 回答 2

4

PermissionEx 是 MSI 5.0 的 MsiLockPermissionsEx 功能的标记,它需要一个 SDDL 字符串。WixUtilExtension 中还有一个 PermissionEx 标签,它允许在所有版本的 MSI 上使用类似的功能。您将前者与后者的属性一起使用。如果您想要 PermissionEx 的 WixUtilExtension 变体,请使用 WixUtilExtension 命名空间:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
...
<util:PermissionEx ... />
于 2012-04-22T18:10:20.243 回答
1

使用 API ConvertSecurityDescriptorToStringSecurityDescriptor或按照 MSDN 文章Security Descriptor String Format中描述的格式在脑海中解决。或者在网上寻找您需要的示例。

于 2012-04-19T11:45:22.827 回答