Ich hab inzwischen auch etwas an diesem Thema gearbeitet und bin auf eine andere Lösung gekommen, welche die Meinung von jaenicke berücksichtigt.
Zitat von
jaenicke:
Zitat von
himitsu:
witzig nur, daß CSIDL_COMMON_APPDATA ja angeblich genau dafür gedacht ist, da hätt ich dann auch erwartet, daß alle da zugriff haben
Darauf haben auch alle Zugriff, aber auf fremde Dateien nur lesenden. Und das ist auch gut so...
Aus diesem Grunde wurde der Pfad für meine Optionsdatei (via himXML_Tools.TXMLProjectOptions)
geändert, wenn dieses Verzeichnis gewählt wird.
Die Datei bekommt dann noch die UserSID verpaßt, so daß in dem Verzeichnis jeder Benutzer seine eigene Datei besitzt, auf welche nur er schreibenden Zugriff hat.
(wollte erst den Usernamen nehmen, weil mir dieses übersichtlicher erschien, aber es wäre blöd, wenn sich mal einer umbenennt)
Dazu wurde neue Funktionen bereitgestellt.
> GetOptionfiles gibt eine Liste der Dateien von anderen Benutzern wieder, wo man sich dann "manuell" einen Dateinamen auswählen und der nächsten Funktion übergeben könnte.
Oder man läßt dort den Dateiparameter leer und diese Funktion wählt dann die aktuellste Version aus.
> UpdateShareddata kann man je einen
XML-Pfad angeben, welcher von dem gewählten User übernommen werden soll.
(ist bei der automatischen Auswahl die eigene Datei neuer, wird nix kopiert)
Dieser Pfad wird dann in die eigenen Optionen reingeklont
und man hätte vorher noch die Möglichkeit die Fremd-Daten zu prüfen.
Jeder hat also weiterhin seine eigenen Daten,
keiner kann diese verändern (da andere nur Lesezugriff haben)
und dennoch kann man Teile der Daten sharen/übernehmen.