System.Security.AccessControl.DirectorySecurity ds = new System.Security.AccessControl.DirectorySecurity();
string useraccountForDirectoryCreate = System.Environment.UserDomainName;
ds.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule(useraccountForDirectoryCreate,
System.Security.AccessControl.FileSystemRights.FullControl,
System.Security.AccessControl.InheritanceFlags.ContainerInherit |
System.Security.AccessControl.InheritanceFlags.ObjectInherit,
System.Security.AccessControl.PropagationFlags.None,
System.Security.AccessControl.AccessControlType.Allow));
Directory.CreateDirectory(folder.Text,ds);
Directory.CreateDirectory(folder.Text + "\\timetables",ds);
我正在尝试在逻辑驱动器中创建一个文件夹但是我一直遇到异常: UnauthorizedAccessException错误:访问被拒绝我甚至以管理员身份运行仍然是相同的结果
答案 0 :(得分:2)
我重新编写了代码并在我的机器上进行了测试。这段代码对我有用;但是,您的代码也是如此,因此您不能拥有Program Files的写入权限。
您应该使用Path.Combine(...)而不是手动附加字符串。
var ttg = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "TimeTableGenerator");
Directory.CreateDirectory(ttg);