Wix中util:PermissionEx的User属性是否支持SID?多语言权限问题
解决Wix中为Authenticated Users组指定SID设置权限的问题
要在多语言系统中为Authenticated Users组(SID: S-1-5-11)设置目录权限,不能直接将SID写入util:PermissionEx的User属性——该属性用于解析账户名称而非SID,系统会尝试把SID字符串当作账户名查找,从而抛出0x80070534错误。
正确的做法是使用util:PermissionEx的Sid属性直接指定SID值,无需设置User属性。示例代码如下:
<Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramDataFolder"> <Directory Id="COMPANY_DIR" Name="CompanyName"> <Directory Id="APP_DIR" Name="AppName"> <Component Id="AppDirComponent" Guid="*"> <CreateFolder /> <util:PermissionEx Sid="S-1-5-11" GenericAll="yes" Inheritance="none" /> </Component> </Directory> </Directory> </Directory> </Directory>
更简洁可靠的方式是使用Wix预定义的已知SID常量,既避免手动输入SID出错,也自动适配多语言系统:
<util:PermissionEx WellKnownSid="AuthenticatedUsersSid" GenericAll="yes" Inheritance="none" />
注意:项目需引用WixUtilExtension扩展,util:PermissionEx属于该扩展功能。
内容的提问来源于stack exchange,提问作者J. Hyslop
相关产品推荐
相关产品推荐

