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.)