Entwickler-Ecke
IO, XML und Registry - IO: Pfad zum schreiben von "Programm spezifische Dateien"
lord2k3 - Do 31.03.16 18:04
Titel: IO: Pfad zum schreiben von "Programm spezifische Dateien"
Hallo,
meine Anwendung schreibt eine Datei, derzeit im CommonApplicationData Pfad.
Unter Windows 7 ist auch noch alles schick, allerdings meldet mir Windows 10 eine Zugriffs Exception - wenn ich mein Programm mit Administratoren Rechten starte klappts.
Habe unter
https://msdn.microsoft.com/de-de/library/system.environment.specialfolder%28v=vs.110%29.aspx geschaut und dachte der CommonApplicationData wäre genau der richtige Ordner dafür.
Beschreibung: "Das Verzeichnis, das als allgemeines Repository für programmspezifische Daten verwendet wird, die von allen Benutzern verwendet werden."
Sind Administratoren Rechte unter Windows 10 zum Dateien schreiben nun pflicht?
%Temp% würde auch ausreichen, aber das ist doch nicht die Lösung?!
Gruß,
Edit:
Mit "LocalApplicationData" funktioniert es auch unter Windows 10 ohne Admin Rechten
Ralf Jansen - Do 31.03.16 19:04
CommonApplicationData ist ein geteilter Ordner für alle User (normalerweise C:\ProgramData). Dachte allerdings das da erstmal jeder dran darf :gruebel: Oder hast du versucht mit verschiedenen Usern die gleiche Datei zu ändern weil CommonApplicationData ja geteilt wird? Das geht tatsächlich nicht den sie ~gehört~ ja potentiell jemand anderem.
LocalApplicationData ist ein userspezifischer Ordner auf dem darf dieser User lesen und schreiben (normalerweise C:\Users\USERNAME\AppData\Local) und da sich so die verschiednene USer aus dem Weg gehen gibt es da dann auch keine Probleme in der Richtung.
lord2k3 - Do 31.03.16 22:57
Ralf Jansen hat folgendes geschrieben : |
CommonApplicationData ist ein geteilter Ordner für alle User (normalerweise C:\ProgramData). Dachte allerdings das da erstmal jeder dran darf :gruebel: Oder hast du versucht mit verschiedenen Usern die gleiche Datei zu ändern weil CommonApplicationData ja geteilt wird? Das geht tatsächlich nicht den sie ~gehört~ ja potentiell jemand anderem. |
Ja das dachte ich auch, unter Windows 7 sieht es auch gut aus, nur Windows 10 "meckert" und es ist nur der eine Benutzer aktiv (bzw. die Anwendung nur einmal geöffnet) ist meine Testumgebung in einer VM.
Sobald ich die Anwendung als Administrator öffne schreibt er unter Win 10 auch fleißig :)
Ich denke, dass die Lösung mit dem User Pfad auch etwas eleganter ist (in meiner Situation)
jfheins - Fr 01.04.16 00:25
Dein Unterordner in ProgramData ist standardmäßig schreibgeschützt - und das ist Absicht.
Wenn gewisse Unterordner schreibbar sein sollen, muss das dein Setup (das ja mit Adminrechten ausgeführt wird) explizit setzen.
Siehe z.B.
http://stackoverflow.com/a/8457033
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!