Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Doch das falsche Verzeichnis? (https://www.delphipraxis.net/151754-doch-das-falsche-verzeichnis.html)

Crowbar 31. Mai 2010 13:58


Doch das falsche Verzeichnis?
 
Hallo,

mein Programm benutzt zum Lesen und Speichern von Einstellungen eine *.ini Datei (z.B. "MeinProgamm.ini").

Derzeitig habe ich die Speicherung dieser Datei in dem Programmverzeichnis, worin es auch installiert wurde, gespeichert.

Nun, unter Windows 7 (bzw. ab Vista) ist dies "unschön" und nebenbei sind die Zugriffrechte auch "verschärft". ;-)
Aus diesem Grund möchte ich meine *.ini Datei in ein Verzeichnis speichern, worauf alle Benutzer gemeinsam Lese- und Schreibrechte haben.

Mittels
Delphi-Quellcode:
SHGetSpecialFolderLocation => GetShellFolder(CSIDL_COMMON_APPDATA);
habe ich dieses Verzeichnis ermittelt.

Unter Win XP:

C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\MeinProgramm
=> Datei: "MeinProgamm.ini"

unter Win 7:

C:\ProgrammData\MeinProgramm
=> Datei: "MeinProgamm.ini"

Jetzt ergibt sich aber das Problem, dass der Benutzer, der diese Datei nicht erstellt hat, zwar die *.ini Datei lesen, aber nicht abspeichern kann.

Bin ich doch im falschen Verzeichnis "gelandet"?

P.S. Jeder Benutzer soll die gleiche *.ini Datei und deren Inhalt haben. Also keine "benutzerbezogene" *.ini Datei.

Bernhard Geyer 31. Mai 2010 14:11

Re: Doch das falsche Verzeichnis?
 
Zitat:

Zitat von Crowbar
Nun, unter Windows 7 (bzw. ab Vista) ist dies "unschön" und nebenbei sind die Zugriffrechte auch "verschärft". ;-)

Neee. Sind immer noch die gleichen Regeln wie seit Windows NT 3.x (oder wars 1.x). Jedoch laufen die Anwendungen wegen UAC standardmäßig ohne lokale Adminrechte. Einfach mal unter Windows XP mit einem user der Gruppe "Gäste" arbeiten.

Zitat:

Zitat von Crowbar
Jetzt ergibt sich aber das Problem, dass der Benutzer, der diese Datei nicht erstellt hat, zwar die *.ini Datei lesen, aber nicht abspeichern kann.

Bin ich doch im falschen Verzeichnis "gelandet"?

Du müsstest per API-Befehl dafür sorgen das die NTFS-Rechte deinen Wünschen gesetzt werden. Du müsstest allen usern (Gruppen?) entsprechende Lese-/Schreibreichte zuteilen. Ist evtl. der Erstersteller ein Admin?

Crowbar 31. Mai 2010 14:26

Re: Doch das falsche Verzeichnis?
 
Zitat:

Zitat von Bernhard Geyer
...Ist evtl. der Erstersteller ein Admin?

Das Installieren (mittels InnoSetup erstellt) des Programms erfolgt mit Admin-Rechten. Während der Installation wird auch erstmalig eine Grund-ini-Datei erstellt.
Okay, dann müßte ich schon im InnoSetup-Script den Zugriff auf diese *.ini Datei für "Jeder" auf Vollzugriff setzen.

Ich dachte nur, es gäbe noch eine "andere Lösung" mittels Voll-Zugriff auf ein "gemeinsames Verzeichnis".

Bernhard Geyer 31. Mai 2010 14:41

Re: Doch das falsche Verzeichnis?
 
Zitat:

Zitat von Crowbar
Das Installieren (mittels InnoSetup erstellt) des Programms erfolgt mit Admin-Rechten. Während der Installation wird auch erstmalig eine Grund-ini-Datei erstellt.
Okay, dann müßte ich schon im InnoSetup-Script den Zugriff auf diese *.ini Datei für "Jeder" auf Vollzugriff setzen.

Ist das was du machen musst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 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