AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein InnoSetup: Parameter wahlweise übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

InnoSetup: Parameter wahlweise übergeben

Ein Thema von stho · begonnen am 11. Mai 2010 · letzter Beitrag vom 11. Mai 2010
Antwort Antwort
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#1

InnoSetup: Parameter wahlweise übergeben

  Alt 11. Mai 2010, 14:21
Halli hallo Leute,

Ich stehe vor der Aufgabe ein InnoSetup zu erzeugen was einen Pfad als Parameter übergeben bekommen haben KANN, aber nicht muss
Nun ist es bei Inno ja so das man dies SO macht:

[SETUP]
DefaultDirName = {pf}

{pf} steht ja im Allgemeinen für den Programme-Ordner

nun will ich aber prüfen ob dem Setup ein Parameter (Ziel-Pfad) übergeben wurde in das es sich installieren soll...
Und da ich nicht will das man mir vor hällt ich würde gar nix tun, weiß ich auch schon wo ich abfrage ob mein Setup einen Pfad bekommen hat:

Delphi-Quellcode:
function InitializeSetup: boolean;
begin
  // ABFRAGE
  Result := 0
end;
nun, wie weise ich dem Setup denn den neuen Wert zu?
Kann ich das etwa einfach machen indem ich DefailtDirName als Variable anspreche?
Achja, nur so als kleine information:
Ich gebs gerne zu, was Inno betrifft bin ich leider noch nicht so bewandert...
Bitte also um eure hilfe

Liebe Grüße
stho
  Mit Zitat antworten Zitat
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
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#3

Re: InnoSetup: Parameter wahlweise übergeben

  Alt 11. Mai 2010, 15:20
Ansonsten bietet Inno Setup auch noch

Delphi-Quellcode:
var
  s: string;
begin
  s := GetCmdTail;
end;
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#4

Re: InnoSetup: Parameter wahlweise übergeben

  Alt 11. Mai 2010, 15:45
Zitat von wicht:
Ansonsten bietet Inno Setup auch noch

Delphi-Quellcode:
var
  s: string;
begin
  s := GetCmdTail;
end;

okay, das muss ich mir mal genauer angucken... o.O


@DelphiBandit:
Und dir danke ich auch schonmal... mal gucken was ich da so machen kann ^^
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz