Ja, aber so was findest du in der Inno Setup-Hilfe bzw. in den mitgelieferten Beispielen. Beides wird meist unterschätzt bzw. komplett ignoriert.
Eine Möglichkeit:
Code:
[b][Setup][/b]
DefaultDirName={reg:
HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\Delphi32.exe,Path|{pf}\My Program}
was bedeutet, dass das Setup den in der Registry eingetragenen Pfad der "delphi32.exe" benutzt. Wenn es diesen Eintrag nicht gibt, wird stattdessen der Standard "%programme%\My Program" benutzt.
Das gleiche mit dem Umweg über die [Code]-Sektion:
[code=pre]
[Setup]
DefaultDirName={code:GetRegValue|{pf}\My Program}
Code:
function GetRegValue(DefaultValue: string): string;
begin
// wenn nicht gefunden, ...
if(not RegQueryStringValue(HKEY_LOCAL_MACHINE,
'Software\Microsoft\Windows\CurrentVersion\App Paths\Delphi32.exe',
'Path',
Result)) then
// ... dann den Pfad %programme% zurückliefern
Result := ExpandConstant(DefaultValue);
end;
Hier wird der Alternativpfad als Vorgabewert (DefaultValue) übergeben.
Und? War das nun so schwer?
@meuternde Moderatoren: Wie wär´s mit einem Inno Setup-Highlighter?