3

当我尝试在 Program Files 中为我的程序创建一个新目录时,我被抛出一个错误,提示访问被拒绝。这是错误: 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");
        }

谢谢 :)

4

2 回答 2

4

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

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

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

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

<security>
  <requestedPrivileges>
    <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
  </requestedPrivileges>
</security> 
于 2013-10-31T18:25:19.287 回答
1

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

尝试将此添加到清单中

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
于 2013-10-31T18:25:31.923 回答