Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Windows 8.1 X64 Programmdata Schreibschutz (https://www.delphipraxis.net/180392-windows-8-1-x64-programmdata-schreibschutz.html)

hanspeter 17. Mai 2014 07:42

AW: Windows 8.1 X64 Programmdata Schreibschutz
 
Das Programm ist eine Altlast und schon eine ganze Weile im Einsatz.
Der Fehler scheint bei mir erst seit W 8.1 aufzutreten.
Historisch bedingt, werden die Daten nicht in einer Datenbank, sondern in IniFiles abgelegt.
Ich verschiebe jetzt dieses Verzeichnis nach CSIDL_LOCAL_APPDATA und hoffe, das keiner im Netzwerk darauf zugreifen will.
In der Regel werden die Inifiles an einer Stelle erzeugt und von Clients nur ausgelesen.

Nachtrag:
Pfad := IncludeTrailingPathDelimiter(GetShellFolder(CSIDL_ COMMON_APPDATA)) + 'Daten\' + ApplicationName +'\';

'Daten\' habe ich nur hier ersetzt. Tatsächlich ist es bei mir der Firmenname des Herstellers.

Peter

Dalai 17. Mai 2014 13:33

AW: Windows 8.1 X64 Programmdata Schreibschutz
 
Noch ein Hinweis zu CSIDL_LOCAL_APPDATA vs. CSIDL_APPDATA: Letzteres Verzeichnis ist vorzuziehen, wenn die Einstellungen im Nutzerprofil liegen sollen und in einer Domäne mit servergespeicherten Profilen mit auf den Server übertragen werden sollen, d.h. die dort gespeicherten Dateien sind an jedem PC der Domäne für diesen Nutzer verfügbar. CSIDL_LOCAL_APPDATA verweist auf ein Verzeichnis, das nicht auf den Server synchronisiert wird, d.h. die dort gespeicherten Dateien sind nur auf diesem einen PC.

Was ich damit sagen will: CSIDL_LOCAL_APPDATA sollte man wirklich nur bei Notwendigkeit (große Dateien/Datenbanken oder so) und dann bewusst benutzen. CSIDL_APPDATA ist eigentlich immer besser, weil man es Administratoren in Domänen sonst unnötig schwer macht.

MfG Dalai

Sir Rufo 17. Mai 2014 13:43

AW: Windows 8.1 X64 Programmdata Schreibschutz
 
Generell könnte man auch sagen:

FolderVerwendung
CSIDL_APPDATAAnwendungs-Daten für den Benutzer
CSIDL_LOCAL_APPDATAAnwendungs-Daten für den Benutzer an diesem Computer
CSIDL_COMMON_APPDATAAnwendungs-Daten für den Computer


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:57 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz