Mit Parametern habe ich innerhalb von Inno auch noch nicht gearbeitet, aber was ich so auf die Schnelle aus der lesenswerten Hilfe entnehmen kann.
function ParamCount: Integer;
Description:
Returns the number of command line parameters passed to Setup or Uninstall.
function ParamStr(Index: Integer): String;
Description:
Returns the Index-th command line parameter passed to Setup or Uninstall.
DefaultDirName
The value of this required directive is used for the default directory name, which is used in the Select Destination Location page of the wizard.Normally it is prefixed by a directory constant.
Auf die internen Variablen kann man mittels ExpandConstant zugreifen.
Also müsste das (ungetestet!) ca. so aussehen
Delphi-Quellcode:
if ParamCount > 1 then
DefaultDirName := ParamStr(2)
else
DefaultDirName := ExpandConstant('{pf}') + 'MyProgName';
Einfach mal als Ansatz damit rumprobieren.
Direktes Zuweisen funktioniert nicht, hab's gerade ausprobiert. Dafür kann man aber das Zusammenbauen des Install-Dirs im Setup-Dir als Funktionsaufruf einbinden:
[code=delphi]
DefaultDirName={code:GetAppFolder}\
Code:
function GetAppFolder(Param: String): String;
begin
if ParamCount > 1 then
Result := ExpandConstant('{pf}') + '\' + ParamStr(2) // C:\Programme\ParameterWert
else
Result := 'D:\Temp\Test\'; // Ergebnis ohne Parameter
end;
Kam nicht umhin das eben mal ausprobieren zu wollen