当我尝试在 Program Files 中为我的程序创建一个新目录时,我抛出了一个错误,指出访问被拒绝。这是错误:其他信息:拒绝访问路径“C:\Program Files\PointOfSales”。
这是为什么?我找不到任何解决我的问题的 C# 特定帮助。这是我现在使用的代码。
if (!Directory.Exists("C:\\Program Files\\PointOfSales"))
{
Directory.CreateDirectory("C:\\Program Files\\PointOfSales");
}
谢谢:)
最佳答案
以当前用户身份运行的程序没有在 Program Files 位置创建目录的权限。某些位置需要管理员权限(对于程序或用户)才能创建目录和其他文件 I/O 操作。
如果程序不允许以管理员身份运行,请让安装程序为您创建目录。许多用户应用程序将不允许以管理员身份运行(作为公司安全策略的一部分),因此在这些情况下无法在 protected 位置创建目录。
如果让安装程序来做,你可以指定requireAdministrator (/level='requireAdministrator')
在 UAC Execution Level
的 C++ 安装程序中选项。
对于 C# 程序,您可以将以下内容放入您的 list 中以确保它以管理员身份运行:
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
关于c# - 创建目录 - 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19713951/