日期:2014-05-18  浏览次数:21000 次

Winform在VISTA系统下怎么删除文件夹?
一个winform程序,用Directory.Delete(path)删除某个文件夹(文件夹是空的,不存在文件占用的问题),在其他系统下一切正常,但是在vista系统下抛出“Access to the path .... is denied”的异常。已经尝试过如下方法

DirectorySecurity dSecurity = Directory.GetAccessControl(path);
①dSecurity.RemoveAccessRule(new FileSystemAccessRule(WindowsIdentity.GetCurrent().Name, FileSystemRights.FullControl, AccessControlType.Deny));
②dSecurity.RemoveAccessRule(new FileSystemAccessRule(WindowsIdentity.GetCurrent().Name, FileSystemRights.Delete, AccessControlType.Deny));
③ dSecurity.AddAccessRule(new FileSystemAccessRule(WindowsIdentity.GetCurrent().Name, FileSystemRights.FullControl, AccessControlType.Allow));
④dSecurity.AddAccessRule(new FileSystemAccessRule(WindowsIdentity.GetCurrent().Name, FileSystemRights.Delete, AccessControlType.Allow));
Directory.SetAccessControl(path, dSecurity);

还是不行。请问有什么方法可以解决?

------解决方案--------------------
让用户在应用程序兼容性上选上 以管理员方式操作