Einzelnen Beitrag anzeigen

Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: bei Walsrode
165 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: InnoSetup: Parameter wahlweise übergeben

  Alt 11. Mai 2010, 15:14
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
Carsten
  Mit Zitat antworten Zitat