写入文件夹时的访问权限

时间:2014-04-18 11:52:04

标签: c# security directory

在以下目录中编写文件时: C:\ProgramData\Something\Somthingmore 我得到一个UnauthorizedAccesException。我怎样才能确保我总能写到那里?我的应用程序需要编写loggfiles,(Environment.SpecialFolder确实是同样的事情。)但我不想在那里写数据,我需要所有用户从文件夹和子文件夹中写入和读取数据。我试图将我的app.manifest修改为: <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />  但这也无济于事,同时将UAC设置为最低或最高也没有任何不同。

当我使用Envireoment.SpecialFolder.ApplicationData时,我得到以下异常: UnauthorizedAccesException

访问路径C:\ Users \ PC2 \ AppData \ Roaming \ AppName \ Logging \ SubFolder被拒绝。

1 个答案:

答案 0 :(得分:0)

这些文件夹的默认权限可能很棘手。默认情况下,它们受到限制。在安装过程中要开放安全性(如果有),或者您需要管理员手动配置。

此处的评论中提到了这一点:http://blogs.msdn.com/b/cjacks/archive/2008/02/05/where-should-i-write-program-data-instead-of-program-files.aspx