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

前端之家收集整理的这篇文章主要介绍了windows-7 – Nullsoft安装程序,如何使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 "$APPDATA\Folder" "(S-1-5-32-545)" "FullAccess"
AccessControl::GrantOnFile "$APPDATA\Folder\*" "(S-1-5-32-545)" "FullAccess"

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

猜你在找的Windows相关文章