只需要添加
EveryOne
用户,并勾选
完全控制
,保存即可(也可以添加Users设置为完全控制)。
这种方法比较简单,我们不过多解说。主要看下我们如何通过软件代码的方式来使之生效。
具体实现如下:
/// <summary>
///为文件夹添加users,everyone用户组的完全控制权限
/// </summary>
/// <param name="dirPath"></param>
static bool AddSecurityControll2Folder(string dirPath)
//获取文件夹信息
DirectoryInfo dir = new DirectoryInfo(dirPath);
//获得该文件夹的所有访问权限
DirectorySecurity dirSecurity = dir.GetAccessControl(AccessControlSections.All);
//设定文件ACL继承
InheritanceFlags inherits = InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit;
//添加ereryone用户组的访问权限规则 完全控制权限
FileSystemAccessRule everyoneFileSystemAccessRule = new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, inherits, PropagationFlags.None, AccessControlType.Allow);
//添加Users用户组的访问权限规则 完全控制权限
//FileSystemAccessRule usersFileSystemAccessRule = new FileSystemAccessRule("Users", FileSystemRights.FullControl, inherits, PropagationFlags.None, AccessControlType.Allow);
dirSecurity.ModifyAccessRule(AccessControlModification.Add, everyoneFileSystemAccessRule, out bool isModified);
//dirSecurity.ModifyAccessRule(AccessControlModification.Add, usersFileSystemAccessRule, out bool isModified);
//设置访问权限
dir.SetAccessControl(dirSecurity);
return isModified;
catch (Exception)
return false;
执行权限更改时,需要依赖管理员权限,所以我们在修改权限的时候,直接调用以上代码是会抛异常的。
如果我们的应用程序不具备管理员权限,那么我们不应该在应用程序中直接去修改它。我们可以在安装的时候,对它进行权限更改,因为安装的时候,可以以管理权限运行安装。
在下个篇章,将以Inno Setup
安装工具简单描述下,如何在安装模式下,赋予权限。
本文会经常更新,请阅读原文:
https://huchengv5.gitee.io//post/C-%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%E6%96%87%E4%BB%B6%E5%86%99%E6%9D%83%E9%99%90%E4%B8%8D%E5%8F%AF%E8%AE%BF%E9%97%AE.html
,以避免陈旧错误知识的误导,同时有更好的阅读体验。
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
进行许可。欢迎转载、使用、重新发布,但务必保留文章署名胡承(包含链接:
https://huchengv5.gitee.io/
),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请