![]() |
Windows 8.1 X64 Programmdata Schreibschutz
Hallo,
irgendwie habe ich einen eigenartigen Effekt. Ich besorge mir den Datenpfad für das Programm mit
Delphi-Quellcode:
Pfad := IncludeTrailingPathDelimiter(GetShellFolder(CSIDL_COMMON_APPDATA)) + 'Daten\' + ApplicationName +'\';
Wenn ich in den Ordner schreiben möchte, ist dieser schreibgeschützt. Den Schreibschutz kann ich im Explorer nicht zurücksetzen. Hat wer eine Ideee, was da passiert sein könnte oder wie ich in das Verzeichnis wieder schreiben kann? Gruß Peter |
AW: Windows 8.1 X64 Programmdata Schreibschutz
Also warum du nicht in den Ordner schreiben kannst, kann ich auf die Schnelle nicht erkennen. Evtl. ist der Pfad verkehrt. Prüfe ob er wirklich korrekt ist.
Was den Schreibschutz (Attribut) von den Ordner angeht, so ist das keiner. Das ist kein Schreibschutz. Das war vielleicht mal einer, ist aber schon lange keiner mehr. Inzwischen hat das Schreibschutz Attribut (aber nur bei Ordnern) eine andere Aufgaben (bei Daten ist es aber immer noch Schreibschutz). Du kannst also die ganze Nacht klicken, ohne da etwas zu bewirken. Sei also beruhigt, es ist nicht mit Schreibschutz Attribut versehen. |
AW: Windows 8.1 X64 Programmdata Schreibschutz
Offenbar fehlen Zugriffsrechte. Kann es sein, dass du das Programm als Nutzer ausführst? Dann hast du sehr wahrscheinlich keine Schreibrechte auf das Verzeichnis (analog zu %ProgramFiles% haben dort nur Administratoren Schreibrechte). Hast du denn dafür gesorgt, dass die Rechte auf das Verzeichnis nach deinen Vorstellungen geändert werden?
MfG Dalai |
AW: Windows 8.1 X64 Programmdata Schreibschutz
Beim Versuch z.B. die Inifile zurückzuschreiben kommte die Fehlermeldung
"In c:\Programdata\... kann nicht geschrieben werden. Öffne ich eine vorhandene Datei mit dem Texteditor und möchte diese zurückspeichern, dann kommt die Fehlermeldung "Zugriff verweiget" Ich meine das in Programdata eigentlich immer Schreibrechte vorhanden sein sollten? Gruß Peter |
AW: Windows 8.1 X64 Programmdata Schreibschutz
Nein, die benötigten Schreibrechte für den Ordner setzt du bei der Installation
|
AW: Windows 8.1 X64 Programmdata Schreibschutz
Wie ich schon sagte, das Schreibschutz-Attribut ist es nicht.
Der andere Schreibschutz, über Zugriffsrechte, ist eine andere Sache. In der Regel ist aber bei AppData, bzw. Anwendungsdaten-Ordner der Schreibvorgang möglich. Zumindest wenn es sich um den Anwendungsdaten-Ordner das Users handelt. CSIDL_COMMON_APPDATA ist aber der Anwendungsdaten-Ordner von All-Users, und hie rhat man nicht automatisch Schreibrechte. In der Regel hat man sie eher nicht. Ich hab zwar noch nie bewußt bei der Installation über Rechte entschieden, kann aber stimmen. Wähle die Datei einfach aus, klicke sie mit der rechten Maustaste an, im Kontextmenü wähle Eigenschaften, im Dialogfenster wähle Register "Sicherheit" und prüfe dort ob Benutzer/Gruppe: "Benutzer", evtl. "Ersteller-Besitzer", "Jeder" oder User "Dein Benutzername" die entsprechenden Rechte haben, bzw. ob man sie ändern kann. |
AW: Windows 8.1 X64 Programmdata Schreibschutz
Zitat:
Ich spreche von der Installation der Anwendung, da legt man die Ordner an und stellt auch die erforderlichen Rechte ein. Ist bei den Setup-Generatoren einfach mit ein paar Klicks eingestellt ;) ![]() BTW: Es empfiehlt sich den Ordner nach folgender Vorgabe "{CSIDL_COMMON_APPDATA}\<Organization-Name>\<Application-Name>" zu benennen, und ab dort die weiteren anwendungsspezifischen Ordner anzulegen. "{CSIDL_COMMON_APPDATA}\Daten\<Application-Name>" ist da irgendwie nicht so schön |
AW: Windows 8.1 X64 Programmdata Schreibschutz
Ist es denn überhaupt Absicht, dass du diese Daten für alle Benutzer ablegen willst? Normalerweise braucht das ein Programm gar nicht, normalerweise ist der Ordner CSIDL_LOCAL_APPDATA viel sinnvoller. In dem hat man Schreibrechte und dieser ist nur für den aktuellen lokalen Benutzer, man stört also andere Benutzer auf dem PC auch nicht...
|
AW: Windows 8.1 X64 Programmdata Schreibschutz
Zitat:
Du dagegen meintest wohl die Installationsrountine die der Programmierer erstellt. Hier kann er einstellen ob der Nutzer die Rechte haben wird. |
AW: Windows 8.1 X64 Programmdata Schreibschutz
Wäre doch aber auch sinnlos den Nutzer entscheiden zu lassen welche Rechte wie wo sein müssen, denn jede Entscheidung abweichend vom Standard würde bedeuten, die Installation abzubrechen, weil das Programm sonst nicht laufen wird.
Man lässt den Nutzer ja auch nicht entscheiden, welche Dateien kopiert werden sollen. Der wählt evtl. eine Funktion aus und die impliziert dann welche Dateien kopiert, welche Ordner benötigt und welche Rechte dort sein müssen damit die Anwendung funktioniert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz