Dies ist der Teil, der abstürzt und mir diese Fehlermeldung gibt, wenn ich versuche, eine Datei an einen bestimmten Ort zu kopieren.
string startupDirectory = "C:\\Users\\Tyler\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup";
File.Copy(startupDirectory, "Startup.exe");
Ich habe online gelesen und Administratorrechte ausprobiert und eine "app.manifest" -Datei erstellt:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Ich habe bestätigt, dass in den Einstellungen das App-Manifest auf diese Datei festgelegt ist, aber es gibt mir immer noch den gleichen Fehler.
Ich habe dieses Ereignis auch ausprobiert, obwohl ich nicht dachte, dass es funktionieren würde, da es sich um ein Verzeichnis und nicht um eine Datei handelt:
File.SetAttributes(startupDirectory, FileAttributes.Normal);
Dies ist WinForms und ich arbeite unter Windows 7, möchte aber auch, dass es für Windows 8 und höher funktioniert. Wie mache ich das?
Danke im Voraus!
Versuchen
public static void Copy(string sourceFileName, string destFileName);
Die erste Überlastung ist die Quelle. Die zweite Überlastung ist das Ziel
File.Copy("Startup.exe",startupDirectory);
Versuchen Sie, die Zugriffsberechtigungen für den .Net-Benutzer, von dem aus Sie die Dateien lesen/speichern, auf "Vollzugriff" zu setzen.
Führen Sie die folgenden Schritte aus, um den Fehler "Zugriff verweigert" auf dem IIS - Server für eine bestimmte Datei zu ermitteln
1- Goto to C:\\Users\\Tyler\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup
2- Right click on your file -> Properties -> Pop Up of User properties appears -> click on Security tab-> click on Edit -> select Users-> tick on Allow Full Control -> Click Ok
Dies wird mit Sicherheit das Problem der Zugriffsverweigerung lösen
Eine UnauthorizedAccessException bedeutet eines von drei Dingen:
Diese Ausnahme wird durch einen Windows-Fehler ausgelöst. Es gibt keinen dedizierten Fehlercode "Das macht absolut keinen Sinn", sondern nur einen Fehlercode "Zugriff verweigert". Welches .NET in eine UnauthorizedAccessException übersetzt.
Das "macht keinen Sinn" -Problem besteht darin, dass Sie versuchen, ein Verzeichnis mit einer Dateikopiermethode zu kopieren. Verzeichnisse sind keine Dateien. Zum Kopieren eines Verzeichnisses muss zuerst ein neues Verzeichnis erstellt und dann alle Dateien im Verzeichnis kopiert werden. .NET hat eine Methode dafür, die meisten C # -Programmierer neigen dazu zu glauben, es sei der "falsche" Namespace. Es ist Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory ().
Aber Sie müssen ein bisschen mehr über dieses Problem nachdenken, es macht natürlich keinen Sinn, das neue Verzeichnis "startup.exe" aufzurufen. Eine wahrscheinlich gemeint, um eine spezifische Datei aus dem Startverzeichnis zu kopieren, wir können nicht erraten, was es sein könnte.
Versuche dies:
File.Copy(startupDirectory, "Startup.exe", true);
File.SetAttributes("Startup.exe", FileAttributes.Normal);
Sie können Visual Studio mit Administratorrechten ausführen. (Unter Windows 7 klicken Sie mit der rechten Maustaste auf das Visual Studio-Symbol im Startmenü und klicken Sie auf "Als Administrator ausführen".)