Hi,
wir haben einen Kunden(unter 20000) bei dem funktioniert das auslesen des Appdata Pfades nicht richtig, wir lesen den Pfad so aus:
Delphi-Quellcode:
const
ExplorerKey = '\Software\Microsoft\Windows\CurrentVersion\Explorer\';
begin
Reg := TRegistry.Create;
Reg.Access := KEY_READ;
try
Reg.RootKey := HKey_Current_User;
if Reg.OpenKey(ExplorerKey + 'Shell Folders', FALSE) then
begin
FAppData := Reg.ReadString('AppData');
end;
bei jedem anderen user kommt da der richtige appdata pfad raus unter dem usernamen, wie man es bei vista/7 nutzen sollte. Aber unter einem Rechner, kommt als Ergebnis dieser Pfad raus:
C:\Windows\system32\config\systemprofile\AppData\R oaming
und da hat der user keine schreibrechte und somit geht die aktion schief, dort sollten programmeinstellungen in einer IniDatei gespeichert werden.
Eigentlich, bei allen anderen rechnern kommt dieser Pfad raus:
C:\Users\USERNAME\AppData\Roaming
wie kann das sein? Kennt jemand das Problem?
Thanks
tom