Automatische Verzeichniserkennung- wie lege ich die bei der Installer Erstellung fest?? (Bitte habt Geduld mit mir als Laie)
Jeder hat mal als Laie angefangen.
Bei DefaultDirName={code:GetRegistryPath|C:\GOG Games\BloodRayne Terminal Cut}
In der [Code] Sektion einfügen:
function GetHKLM(): Integer;
begin
if IsWin64 then
begin
Result := HKLM64;
end
else
begin
Result := HKLM;
end;
end;
function GetRegistryPath(DefaultPath: string): string;
begin
if not RegQueryStringValue(HKLM, 'Software\GOG.com\Games\1598751450', 'Path', Result) then if not RegQueryStringValue(GetHKLM(), 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Steam App 1373510', 'InstallLocation', Result) then Result := ExpandConstant(DefaultPath);
end;
Die Pfade werden aus der Registry gelesen. Die Zahlen 1598751450 und 1373510 sind "Standard" (siehe GOGDB und STEAMDB) und werden immer so für jedes Spiel angelegt. Wenn beide Registry-Einträge nicht gefunden werden, wird der Standardpfad der GOG-Version (C:\GOG Games\BloodRayne Terminal Cut) genommen. Du kannst aber auch "|C:\GOG Games\BloodRayne Terminal Cut" bei DefaultDirName weglassen, dann ist die Box mit der Pfadangabe leer.