即使使用FullControl进行“Everyone”,也会出现UnauthorizedAccessException

时间:2010-12-24 12:24:56

标签: c# io file-permissions

尝试删除AppData\...

上的文件时出现此错误
  

System.UnauthorizedAccessException:拒绝访问路径'... AppData \ Roaming \ Mozilla \ Firefox \ Profiles \ 4peif3cq.default \ extensions \ om.brunolm@gmail.com.xpi'。

if (File.Exists(extFile))
{
    File.Delete(extFile);
}

我已尝试向FullControl添加Everyone权限,但会发生同样的错误。该文件不是readonly

为什么我不能用C#代码删除这个文件?我该如何删除它?

2 个答案:

答案 0 :(得分:2)

使用提升的权限尝试相同的操作:

  • 首先,在admin下运行您的应用程序(在文件的上下文菜单中以管理员身份运行)。

  • 如果有帮助,请将此添加到您的App.manifest:

    <?xml version="1.0" encoding="utf-8"?>
    <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
       <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
          <security>
             <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
                <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
             </requestedPrivileges>
          </security>
       </trustInfo>
    </asmv1:assembly>
    

请参阅also

答案 1 :(得分:1)

您是否也可以完全控制包含文件的文件夹?您可以在高级安全设置下查看有效权限吗?或者可能是其他人正在使用该文件,无论如何都会拒绝访问。