Zum Inhalt springen

Access to the path 'C:\Program Files\<Ordner_Name>' is denied.


rolle2003

Empfohlene Beiträge

Hallo zusammen,

habe folgendes Problem:

Ich habe einen Installer geschrieben, der mir Dateien aus dem Internet lädt, und dann in "C:\Program Files\<Ordner_Name>" Kopieren soll. Der Installer erstellt mir den Ordner nur wenn ich die daten in deeben erzeugten Ordner schreiben will steigt er mir immer mit der Fehlermeldung : Access to the path 'C:\Program Files\<Ordner_Name>' is denied, aus.

Wenn ich zb. eine andere Festplatte angebe, wird das Programm richtig installiert.

Nun meine Frage, gibt es irgendeine Möglichkeit mein Programm dazu zubewegen die Dateinen in den Ordner unter C:\Program Files\<Ordner_Name> zukopieren.

An dieser Stelle steigt er aus:

using (Stream streamLocal = new FileStream(installDir, FileMode.Create, FileAccess.ReadWrite, FileShare.None))

Zur Info, Ich kann noch nicht mal in den User bzw. in den Windows Temp ordner was schreiben.

Mein Programm startet via '<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />' als admin!

Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja ich nutze Win7 zur Entwicklung, ich gebe dem Programm ja Adminrechte via

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
, Die Benutzerkontensteuerung fragt ja auch nach ob ich das App als Admin laufen lassen will.

Ich kann auch Ordner in: "C:/Program Files" erstellen, der Admin hat dann auch die nötigen Rechte, allerdings kann ich wie gesagt keine Daten da rein schreiben.

Gruß Roland

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, ist ja das gleiche wie der normale Start, weil das app ja immer admin rechter anfordert.

Ja aber eshätte ja sein können das mit dem Manifest etwas nicht funktioniert.

Folgender Code bringt mir beim normalen Starten eine Access denied Exception und beim Ausführen als Admin klappts ohne Probleme


static void Main(string[] args)
{
using (Stream streamLocal = new FileStream(@"C:\Program Files\test.txt", FileMode.Create, FileAccess.ReadWrite, FileShare.None))
{
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
byte[] text = enc.GetBytes("Test");
streamLocal.Write(text, 0, text.Length);
}
}
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...