Hallo,
ich habe eine meiner Anwendungen mal auf Windows 7-Tauglichkeit geprüft und erhalte dabei immer folgende Exception beim Zugriff auf Dateien:
25.02.2009 14:23
System.UnauthorizedAccessException: Der Zugriff auf den Pfad C:\Eigene Dateien\Projektverwaltung\Block2.xml wurde verweigert.
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
bei System.IO.FileStream..ctor(String path, FileMode mode)
bei Projektverwaltung.LoadSaveData.LoadBlockData(String Pfad, String Datei, BlockedData& BlockDaten)
Die Anwendung funktioniert unter XP und Vista fehlerfrei, des weiteren greife ich mit XP (auf zweiter Partition installiert) auf den selben Pfad zu wie unter Windows 7, dort funktioniert der Dateizugriff problemlos.
Der bisher einzige Pfad den ich in Windows 7 beschreiben kann ist: C:\Users\Jörg\AppData\Roaming
Was muss man unter Windows 7 beachten damit man auch andere Pfade nutzen kann?
Gruß Jörg
Versuch das Programm mal als Administrator auzuführen -> Stichwort UAC
Aha,
und welche Ordner sind dann von Windows 7 freigegeben??
Ich wollte übrigens auf einen Ordner im Unterverzeichniss zu Eigene Dateien zugreifen!
Ich verstehe ja, wenn Systemordner von Windows geschützt sind, aber der Ordner Eigene Dateien??
Schon komisch das ganze
Gruß Jörg
Wie ermittelst du denn den Pfad?
[Edit]
Ich komm darauf wegen _C:\Eigene Dateien_. Den Pfad gibt es unter W7 nicht. Jedenfalls nicht physisch.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
eigene dateien deswegen nciht, da alle anwendungen dort unterordner bekommen sollen und es sollte nicht sein, das eine anwendung die dateien einer anderen anwendung manipulieren darf.
daher hast du zugriff auf "C:\Users\Jörg\AppData\Roaming"
also "c:<benutzer><konto>\AppData<Anwendungsbezeichung>" (im groben erläutert und nciht wörtlich zu nehmen)
edit: schau mal die Environment.SpecialFolder enumeration an.
Der Ordner in den du schreiben wolltest ist aber nicht der Windows-eigene Ordner für die Eigenen Dateien, oder? Dieser müsste doch unter C:\Users{Benutzername}\Documents zu finden sein (bei Windows 7 mit Sicherheit auch).
Hallo,
zunächst mal zu Entwirrung meine Partitionen:
C: kein OS, hier liegen hauptsächlich Eigene Dateien
D: Win XP mit SP 2
E: Windows 7 beta
der o.g. Pfad C:\Users\Jörg\AppData\Roaming muss heissen E:\Users\Jörg\AppData\Roaming, Sorry ist mir beim Posten nicht aufgefallen
Dem Ordner Documents (oder wie der auch immer heisst) von Win 7 hab ich als Ziel 'C:\Eigene Dateien' gegeben.
Ich habs gerade nochmal probiert.
Im Ordner C:\Eigene Dateien kann ich schreiben, allerdings nicht im Unterordner C:\Eigene Dateien\Projektverwaltung
Gruß Jörg
allerdings nicht im Unterordner C:\Eigene Dateien\Projektverwaltung
Rechte Maustaste auf den Ordner im Explorer, Eigenschaften, Sicherheit. Dort gibst du dem aktuellen Benutzer entsprechend die Rechte.
Das ganze wurde oben aber schon erwähnt!!
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...