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