rolle2003 Geschrieben 14. März 2012 Teilen Geschrieben 14. März 2012 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Connor1980 Geschrieben 14. März 2012 Teilen Geschrieben 14. März 2012 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HJST1979 Geschrieben 14. März 2012 Teilen Geschrieben 14. März 2012 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
rolle2003 Geschrieben 14. März 2012 Autor Teilen Geschrieben 14. März 2012 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 14. März 2012 Teilen Geschrieben 14. März 2012 Passiert das auch wenn du deine Anwendung mit Rechtsklich->Als Adminstrator ausführen startest? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
rolle2003 Geschrieben 14. März 2012 Autor Teilen Geschrieben 14. März 2012 Ja, ist ja das gleiche wie der normale Start, weil das app ja immer admin rechter anfordert. Anbei ein paar Bilder, zum verständnis: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 14. März 2012 Teilen Geschrieben 14. März 2012 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] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
rolle2003 Geschrieben 14. März 2012 Autor Teilen Geschrieben 14. März 2012 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.