Zugriff Verweigert bei der Schaffung Verzeichnis mit 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.
}
Ausnahme wird ausgelöst, wenn ich meine .net-Anwendung, ohne das Administrator-Konto. Während, Wenn ich versuche, Verzeichnis erstellen, in anderen dann C:\
Fahrt wie D:\
es gut läuft.
Was ist die Lösung, die ich erstellen möchten-Verzeichnis in Program Files/Windows
Ordner?
- Dies ist eine web-basierte Anwendung, windows-Dienst, ausführbare Datei oder geplante Aufgabe?
- Bitte Bearbeiten Sie die Frage mit den details der Ausnahme, in Ihrem code, den Sie sollten mindestens ein try/catch um den code. Ist es unter Windows 7? Bist du dir 100% sicher, dass Sie sind ein admin und UAC deaktiviert ist? Im Allgemeinen sollten Sie nicht erstellen Sie einen Unterordner in diesem Ort, es sei denn, Sie installieren eine Anwendung, aber dann ist in der Regel durch ein Installationsprogramm.
- Sie können erzwingen, dass Ihre Anwendung als administrator ausgeführt werden: stackoverflow.com/questions/2818179/...
- es ist nicht Wörterbuch, es ist Verzeichnis.
- Ich schlage vor, Sie vermeiden, um den Ordner zu erstellen in da 🙂
InformationsquelleAutor SOF User | 2011-07-03
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
C:\program files
Ordner ist geschützt (by design) in Vista und Windows 7 (und Windows Server 2008 /2008 R2) - normale Benutzerkonten haben keine Berechtigung zum erstellen von Verzeichnissen, in dort - es ist ein system-Ordner.Entweder Sie laufen müssen, als admin - dann haben Sie die Berechtigung zum erstellen von Verzeichnissen sogar in geschützten system-Ordner oder erstellen Sie die Verzeichnisse an anderer Stelle und nicht in einem geschützten system-Ordner. Die zweite option wäre die empfohlene und bevorzugte option.
Wenn Ihre Anwendung soll durch den Benutzer ausgeführt werden, schreiben Sie an die Benutzer-app data-Ordner oder Ordner "temp". Sollte Ihre app installieren, um die Programm-Dateien-Verzeichnis, und vielleicht nutzen einige Dateien in das Windows-Verzeichnis, aber es sollte nie zu schreiben, um entweder Lage.
Sie können leicht für die Nutzer der app daa Ordner aus der environment-Variablen.
wenn Sie diese aus der web-Anwendung stellen Sie sicher, dass der Anwendungspool Benutzer die ntfs-Berechtigung des Ordners.
Müssen Sie elevate-user-Privilegien, wie es ist ein feature in windows vista/7.
Als admin ausgeführt, wird das problem lösen.
wenn Sie Betriebssysteme höher als Windows XP, werden Sie nicht in der Lage, Zugriff auf C: \ PrpgramFiles protecded, da das Lesen und schreiben, es sei denn, AVII Ihre Anwendung mit Administrator-rechten.
Bye