【发布时间】:2017-06-02 21:09:23
【问题描述】:
关于我正在完成的工作的一些背景故事我是 Autodesk 的安装技术人员,我认为创建一个简单的程序来帮助自动清除通常在卸载软件后留下的文件夹的过程会很有趣。
我要删除的目录如下。
C:\ProgramData\FLEXnet
C:\Program Files\Autodesk\
C:\ProgramData\Autodesk\
C:\Program Files (x86)\Autodesk\
C:\Users\All Users\Autodesk\
C:\Users\**YOUR USERID**\AppData\Roaming\Autodesk\
C:\Users\**YOUR USERID**\AppData\Local\Autodesk\
这是我一直在玩弄的代码
private void btn_start_Click(object sender, EventArgs e)
{
//di.Attributes &= ~FileAttributes.ReadOnly;
try
{
File.SetAttributes("C:/Program Files (x86)/Autodesk", FileAttributes.Normal);
Directory.Delete("C:/Program Files (x86)/Autodesk", true);
}
catch (IOException ex)
{
MessageBox.Show(ex.Message);
}
try
{
File.SetAttributes("C:/ProgramData/Autodesk", FileAttributes.Normal);
Directory.Delete("C:/ProgramData/Autodesk", true);
}
catch (IOException ex)
{
MessageBox.Show(ex.Message);
}
对于以下行,它会出现此错误。
File.SetAttributes("C:/Program Files (x86)/Autodesk", FileAttributes.Normal);
System.UnauthorizedAccessException: '访问路径 'C:\Program Files (x86)\Autodesk' 被拒绝。'
如果我在哪里删除该行并单独使用 Directoyr.Delete,我会收到此错误。
System.UnauthorizedAccessException: 'Access to the path 'AcIPC_2_x86.dll' is denied.'
我花了几天时间试图弄清楚如何让软件能够删除目录,但我觉得我陷入了僵局。
【问题讨论】:
-
您是否以管理员身份运行此程序。
-
我是。但是,似乎即使我尝试发布该程序并尝试以管理员身份运行它,它仍然会给我一个拒绝访问错误。
-
如果显示“访问被拒绝”,则访问被拒绝。就是这么简单。管理员权限通常可以让您获得广泛的访问权限,但这并不意味着您一定拥有全权委托。无论如何,您遇到的是计算机配置问题,而不是编程问题。 Stack Overflow 不适合您提出问题。
标签: c# visual-studio directory