gpt4 book ai didi

permissions - WIX:授予文件夹权限

转载 作者:行者123 更新时间:2023-12-03 13:32:05 27 4
gpt4 key购买 nike

我已经阅读了所有相关主题,还没有找到我问题的完整答案。

我想将“系统”的全部权限和“用户”的“读取和执行”权限授予“程序文件”下的文件夹。仅此而已。

我知道有3种方法可以使用WIX授予文件夹权限,但没有一种方法对我真正有用,我将解释原因:

1)常规权限元素:

    <CreateFolder Directory="Test">
<Permission User="SYSTEM" GenericAll="yes"/>
<Permission User="Users" Domain="[LOCAL_MACHINE_NAME]"
GenericRead="yes" Read="yes" GenericExecute="yes" ChangePermission="yes"/>
</CreateFolder>


问题:由于它不知道“ Users”关键字,因此在外部OS上失败。我也尝试过使用SID。除此之外,我需要将Permission元素放置在Test目录中的每个文件下(但是,如果只有这种情况,我将可以进行管理)

2)WixUtilsExtension PermissionEx元素:

    <CreateFolder Directory="Test">
<util:PermissionEx User="SYSTEM" GenericAll="yes"/>
<util:PermissionEx User="Users" Domain="[LOCAL_MACHINE_NAME]"
GenericRead="yes" Read="yes" GenericExecute="yes" ChangePermission="yes"/>
</CreateFolder>


问题:该文件夹还保留了Program Files文件夹的默认权限。我不允许。

3)带有Sddl的PermissionEx:

问题:仅当与MSI 5.0一起安装时,此元素才可用。我正在使用安装程序3.01。

我很乐意获得任何解决方案,包括具有自定义操作的解决方案...

最佳答案

我遇到了同样的问题,并与Rob M进行了交谈。我打算做Christian G的答案(https://stackoverflow.com/a/5296967/18475),但是Rob建议使用WixQueryOsWellKnownSID(http://wix.sourceforge.net/manual-wix3/osinfo.htm)来解决非美国语言环境。

.wxs文件中,添加以下内容:

<PropertyRef Id="WIX_ACCOUNT_LOCALSYSTEM" />
<PropertyRef Id="WIX_ACCOUNT_USERS" />


然后进一步在 .wxs文件中您要应用权限的地方,就像下面这样:

<Permission GenericAll="yes" User="[WIX_ACCOUNT_LOCALSYSTEM]" />
<Permission GenericRead="yes" GenericExecute="yes" User="[WIX_ACCOUNT_USERS]" />


现在,当您不费吹灰之力时,只需链接 WixUtilExtension

light -ext WiXUtilExtension ...


注:可能不完全支持此功能,具体取决于您的WiX版本。如果对您不起作用,则可以使用其他选项 translate SIDs

关于permissions - WIX:授予文件夹权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260634/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com