Zum Inhalt springen

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


Empfohlene Beiträge

Geschrieben

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

Geschrieben

Hi,

mein erster Gedanke geht in Richtung Rechte: du bzw. der Benutzer, unter dessen Kontext der Installer ausgeführt wird, hast/hat wahrscheinlich keine.

Evtl. nennst du uns noch das Betriebssystem, unter dem du testest?

Grüße

Geschrieben

Ich denke es wird Vista oder Windows 7 sein. Da hängt das an der Benutzerberechtigung.

Ich würde sowieso vorschlagen den Datenpfad an eine andere Stelle wie das Programm zu verlagern und dem Programm dann mitteilen, woe die Daten (Dateien) liegen.

Gruß Hans-Jörg

Geschrieben

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

Geschrieben
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]

Geschrieben

Was bin ich doch ein "Pfosten" :upps.

Ich habe ihn zwar gesagt wo der das Speichern soll, aber nicht was!!!

Danke Guybrush Threepworld, für deinen Quelltext, womit du mir gezeigt hast wo mein Fehler ist.

Gruß und Danke für eure Hilfe

Roland

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...