fix Windows config dir: use %APPDATA% env var directly

FPC's GetAppConfigDir on Windows falls back to the exe directory
if the shell API call fails, which breaks installs in Program Files.
Read %APPDATA% from the environment variable instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 17:03:14 +03:00
co-authored by Claude Sonnet 4.6
parent 474a638abc
commit e9f4bf1732
+9
View File
@@ -68,7 +68,16 @@ end;
function GetAppCfgDir: string; function GetAppCfgDir: string;
begin begin
{$IFDEF WINDOWS}
Result := GetEnvironmentVariable('APPDATA');
if Result = '' then
Result := GetEnvironmentVariable('LOCALAPPDATA');
if Result = '' then
Result := ExtractFilePath(ParamStr(0));
Result := IncludeTrailingPathDelimiter(Result) + 'ewsdr' + PathDelim;
{$ELSE}
Result := IncludeTrailingPathDelimiter(GetAppConfigDir(False)); Result := IncludeTrailingPathDelimiter(GetAppConfigDir(False));
{$ENDIF}
if not DirectoryExists(Result) then if not DirectoryExists(Result) then
ForceDirectories(Result); ForceDirectories(Result);
end; end;