【发布时间】:2016-10-15 06:35:39
【问题描述】:
我有一个带有由 NSIS 脚本创建的安装程序的 C 程序。问题是安装程序添加的文件之一需要只读。对于这个问题,我正在尝试使用 AccessControl 插件。我将插件目录包含在以下行中:
!addplugindir "AccessControl\Unicode\Plugins"
在我的安装部分的底部,我尝试了这些行但没有成功:
AccessControl::GrantOnFile "$INSTDIR\file.txt" "BUILTINUSERS" "GenericRead + Delete"
AccessControl::GrantOnFile "$INSTDIR\file.txt" "(BU)" "GenericRead + Delete"
AccessControl::GrantOnFile "$INSTDIR\file.txt" "(S-1-5-32-545)" "GenericRead + Delete"
AccessControl::GrantOnFile "$INSTDIR\file.txt" "(S-1-1-0)" "GenericRead + Delete"
脚本编译时没有显示错误,但运行安装程序后仍然可以覆盖文件。我没有从这些来源中获得任何成功。
http://nsis.sourceforge.net/AccessControl_plug-in
http://avidinsight.uk/2014/01/nsis-access-control-problem-with-built-in-users-group/
How do you set directory permissions in NSIS?
http://nsis.sourceforge.net/Talk:AccessControl_plug-in
最后一点,我使用的是 Windows 8。
【问题讨论】:
标签: nsis