[英]Access Denied in creating directory using C#
string windowsDirectory = Environment.GetEnvironmentVariable("ProgramFiles");
string mydirecoty = windowsDirectory + "\\" + "NetServices\\";
if (!Directory.Exists(mydirecoty))
{
Directory.CreateDirectory(mydirecoty); //Access to the path 'C:\Program Files (x86)\NetServices\' is denied.
}
當我在沒有管理員帳戶的情況下運行 .net 應用程序時引發異常。 雖然如果我嘗試在C:\
像D:\
這樣的驅動器中創建目錄,它運行正常。
我想在Program Files/ Windows
文件夾中創建目錄的解決方案是什么?
C:\program files
夾在 Vista 和 Windows 7(和 Windows Server 2008 / 2008 R2 中創建系統文件夾沒有任何系統權限)中受保護(設計)
您需要以管理員身份運行 - 然后您有權在受保護的系統文件夾中創建目錄 - 或者您在其他位置而不是在受保護的系統文件夾中創建目錄。 第二個選項將是推薦和首選的選項。
您需要提升用戶權限,因為它是 windows vista/7 中的一項功能。 以管理員身份運行將解決問題。
如果您的應用程序打算由用戶運行,請寫入用戶的應用程序數據文件夾或臨時文件夾。 您的應用程序應該安裝到 Program Files 目錄,並且可能使用 Windows 目錄中的一些文件,但它永遠不必寫入任一位置。 您可以輕松地從環境變量中獲取用戶的 app daa 文件夾。
如果您從 web 應用程序運行它,請確保應用程序池用戶具有該文件夾的 ntfs 權限。
如果您使用高於 Windows XP 的操作系統,您將無法訪問 C:\PrpgramFiles 因為讀寫而受到保護,除非 AVII 您的應用程序具有管理員權限。
再見
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.