AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Daten-Dateien - wo speichern?

Ein Thema von torf160 · begonnen am 14. Mär 2009 · letzter Beitrag vom 14. Mär 2009
 
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.916 Beiträge
 
Delphi 12 Athens
 
#8

Re: Daten-Dateien - wo speichern?

  Alt 14. Mär 2009, 16:21
Zitat von Jens Hartmann:
selbst Delhpi, hat in den Anwendungsdaten nicht alles gespeichert. Die gesamte LIB etc. befindet sich unter Programme.
Diese wird aber auch nicht verändert. Die kompilierten Packages z.B. landen ab Delphi 2005 in den eigenen Dateien unter "Borland Studio Projects\Bpl" bzw. ab Delphi 2007 in den öffentlichen Dokumenten unter "Rad Studio (5)6.0\Bpl".
Deshalb braucht Delphi ab 2005 auch keine Administratorrechte.

Das alte Delphi 7 und früher hat den Fehler gemacht, dass es das aktuelle Arbeitsverzeichnis benutzt hat als Projektverzeichnis, was u.a. die Inkompatibilität mit Vista verursacht hat. Das ist jetzt aber auch schon 8 Jahre oder so alt, deshalb ist das heute ja nicht mehr so schlimm. Aber man kann das mit kleinen Tricks auch vollständig unter Vista und Windows 7 zum Laufen bekommen.
Aber wer will das schon , da fehlen ja ohnehin viele Sachen, sowohl in der IDE als auch in der Sprache. Das merke ich ja, wenn ich irgendwie zumindest den größten Teil der Funktionalität von Komponenten auch dort noch anzubieten versuche.

Zitat von torf160:
Das mit dem GetSpecialFolder hab ich hinbekommen und ich würde die Dateien auch gerne in C:\Dokumente und Einstellungen\All Users\Anwendungsdaten schreiben.
Es sieht aber so aus, als ob ein normaler Benutzer dort auch nur Lese-Rechte hat. Es soll ja aber möglich sein, die Dateien neu zu schreiben.
Die veränderbaren Daten sollten in CSIDL_APPDATA (benutzerspezifisch im ganzen Netzwerk), CSIDL_LOCAL_APPDATA (benutzerspezifisch und nur auf dem Rechner) hinein. In den Pfad für alle Benutzer darf ein Programm eines einzelnen Benutzers nicht ohne Administratorrechte schreiben.
http://msdn.microsoft.com/en-us/library/bb756940.aspx

Als Ausweg blieben (wenn die Daten wirklich für alle Benutzer gelten müssen) die öffentlichen Dokumente (CSIDL_COMMON_DOCUMENTS = $2E), in denen Schreibrechte bestehen. Das ist ja auch der Grund, weshalb Codegear diese mit dem Rad Studio nutzt.

Allerdings sind diese ggf. freigegeben, deshalb ist es eher sinnvoll, diese nur zum Datenaustausch zu verwenden, d.h. zum Beispiel dort eine Kopie abzulegen, die dann ggf. ins eigene Profil kopiert werden kann, wenn ein Benutzer das Programm startet.

Sinnvoll ist da dann auch eher ein Server, auf dem die entsprechenden Rechte für alle Benutzer gesetzt sind.

// EDIT:
Zitat von freak4fun:
Zitat von torf160:
C:\Dokumente und Einstellungen\All Users\Anwendungsdaten
AppData ist ja nicht das Ende vom Lied. Da gibts bei mir hier unter Vista noch \roaming und \local. Ich würde sagen local gehört zum User und roaming für alle User. Bin mir aber nicht sicher. Mein Programm speichert seine Daten im Moment in \local\<ProgrammName>\settings.ini.
Nicht ganz. Local ist nur für den Benutzer und nur für den Rechner, Roaming ist bei einer Netzwerkanmeldung für diesen Benutzer auf allen PCs.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 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