创建目录 - 访问被拒绝

时间:2013-10-31 18:23:22

标签: c# .net winforms permissions denied

当我尝试在程序文件中为我的程序创建一个新目录时,我抛出一个错误,说访问被拒绝。这是错误:Additional information: Access to the path 'C:\Program Files\PointOfSales' is denied.为什么会这样?我找不到任何解决我问题的C#特定帮助。这是我现在使用的代码。

if (!Directory.Exists("C:\\Program Files\\PointOfSales"))
        {
            Directory.CreateDirectory("C:\\Program Files\\PointOfSales");
        }

谢谢:)

2 个答案:

答案 0 :(得分:4)

以当前用户身份运行的程序无权在Program Files位置创建目录。某些位置需要管理员权限(对于程序或用户)来创建目录和其他文件I / O操作。

如果不允许程序以管理员身份运行,请让安装程序为您创建目录。许多用户应用程序将不被允许以管理员身份运行(作为公司安全策略的一部分),因此在这些情况下无法在受保护位置创建目录。

如果让安装程序执行此操作,则可以在C ++安装程序中为requireAdministrator (/level='requireAdministrator')选项指定UAC Execution Level

对于C#程序,您可以将以下内容放入清单中,以确保它以管理员身份运行:

<security>
  <requestedPrivileges>
    <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
  </requestedPrivileges>
</security> 

答案 1 :(得分:1)

我认为应用程序需要以管理员身份运行。

尝试将其添加到清单

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />