Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   AppData-Ordner vom SYSTEM-Konto herausfinden (https://www.delphipraxis.net/193771-appdata-ordner-vom-system-konto-herausfinden.html)

DCoderHH 7. Sep 2017 12:39

AppData-Ordner vom SYSTEM-Konto herausfinden
 
Ich habe einen Dienst erstellt, der eine Ini Datei in den Ordner ablegt, den die Funktion TPath.GetHomePath zurückgibt. (Das ist der Wert von CSIDL_APPDATA.)
Zitat:

Bei mir ist das z.B. C:\WINDOWS\system32\config\systemprofile\AppData\R oaming
Der Ordner liegt unterhalb von systemprofile, da der Dienst mit dem SYSTEM-Konto läuft.
Nun habe ich mit Inno-Setup ein Installationsprogramm erstellt, dass diesen Dienst installiert. In das Installationsprogramm werden vom Benutzer Daten eingegeben, die in der oben genannte Ini gespeichert werden sollen. Also die Ini, auf die der Dienst zugreift. Da das Installationsprogramm mit dem Admin-User-Konto ausgeführt wird, zeigt dort CSIDL_APPDATA auf einen anderen Ordner.
Zitat:

Bei mir ist das z.B. C:\Users\MYUSERNAME \AppData\Roaming
Wie kann ich immer den AppData-Ordner vom SYSTEM ermitteln, auch wenn das ermittelnde Programm unter einem anderen User läuft?
(Wenn das nicht direkt mit Inno-Setup möglich ist, kann ich das ja auch mit Delphi lösen und den Delphi-Code in Inno nutzen.)

Der schöne Günther 7. Sep 2017 14:12

AW: AppData-Ordner vom SYSTEM-Konto herausfinden
 
Ich kann nicht ganz folgen weshalb diese Einstellungen in das NUTZER-Verzeichnis von SYSTEM gehören. Werden die denn nach dem Setup überhaupt noch geändert? Ich würde sie zur .exe, nach C:\Programme oder wo auch immer es hingewandert ist hinpacken, so ist alles an einem Platz.

Außerdem fliegt dir so nichts auseinander wenn dir z.B. klar wird dass vielleicht LOCAL SERVICE oder NETWORK SERVICE der bessere Account statt dem allmächtigen SYSTEM für deinen Dienst wäre.

DCoderHH 7. Sep 2017 14:14

AW: AppData-Ordner vom SYSTEM-Konto herausfinden
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1380526)
Ich kann nicht ganz folgen weshalb diese Einstellungen in das NUTZER-Verzeichnis von SYSTEM gehören. Werden die denn nach dem Setup überhaupt noch geändert? Ich würde sie zur .exe, nach C:\Programme oder wo auch immer es hingewandert ist hinpacken, so ist alles an einem Platz.

Der Dienst liest und schreibt in der Ini. Der Benutzer kann die Einstellungen über den Dienst jederzeit ändern. In C:\Programme gibt es in der Regel keine Schreibrechte und dort möchte ich auch keine einräumen.

mkinzler 7. Sep 2017 14:21

AW: AppData-Ordner vom SYSTEM-Konto herausfinden
 
Wäre ProgramData da nicht der geeignetere Ort?

DCoderHH 7. Sep 2017 14:32

AW: AppData-Ordner vom SYSTEM-Konto herausfinden
 
Zitat:

Zitat von mkinzler (Beitrag 1380529)
Wäre ProgramData da nicht der geeignetere Ort?

Danke, ja das würde klappen.

sh17 10. Sep 2017 07:29

AW: AppData-Ordner vom SYSTEM-Konto herausfinden
 
Wie ich letztens festgestellt habe, werden bei einem großen Windows 10 Update aus C:\WINDOWS\system32\config\systemprofile\AppData nicht immer alle Daten migriert. So waren bei mir bei einem als Dienst laufenden Backupprogramm alle Einstellungen weg. War etwas aufwändig, die aus Windows.old rauszukramen. Das nur als Hinweis für die Wahl des Ordners

himitsu 10. Sep 2017 13:27

AW: AppData-Ordner vom SYSTEM-Konto herausfinden
 
C:\WINDOWS\system32\... klingt auch nicht sonderlich schön.


Wie wäre es mit C:\ProgramData\ oder C:\Users\Public\Roaming\ ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 Uhr.

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