加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-7 – Nullsoft安装程序,如何使ProgramData子文件夹可写

发布时间:2020-12-14 04:08:25 所属栏目:Windows 来源:网络整理
导读:ProgramData文件夹是存储所有用户共享的应用程序可写文件的最佳位置.但是当Nsis安装程序以管理员权限(需要写入Program Files)运行时,在ProgramData文件夹中创建的文件夹和文件只对除admin之外的所有用户都是只读的.如何更改它并为ProgramData文件夹中的所有
ProgramData文件夹是存储所有用户共享的应用程序可写文件的最佳位置.但是当Nsis安装程序以管理员权限(需要写入Program Files)运行时,在ProgramData文件夹中创建的文件夹和文件只对除admin之外的所有用户都是只读的.如何更改它并为ProgramData文件夹中的所有用户提供可写文件?
我不知道这种行为是一个功能还是一个bug,但我找到了一个解决方法.需要 AccessControl插件(下载并复制Nsis插件文件夹).在Nsis脚本的“安装”部分里面放了这样的东西:
; This is important to have $APPDATA variable
; point to ProgramData folder
; instead of current user's Roaming folder
SetShellVarContext all

; This sets us permissions
AccessControl::GrantOnFile "$APPDATAFolder" "(S-1-5-32-545)" "FullAccess"
AccessControl::GrantOnFile "$APPDATAFolder*" "(S-1-5-32-545)" "FullAccess"

S-1-5-32-545相当于all users,因此该代码将授予对所有用户的指定文件夹和所有文件的完全访问权限.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读