Installationsparameter definieren

Seit Version 3.1 der Packaging PowerBench besteht die Möglichkeit in der Package.xml eines Pakets Installationsparameter zu definieren, die über die aufrufende Kommandozeile an das Paket übergeben werden können. Damit können Sie den Wert von im Paket verwendeten Variablen von außen zur Laufzeit setzen und so Pakete individueller und für verschiedene Umgebungen und Randbedingungen flexibel einsetzbar machen.

Wenn Sie ein neues Paket mit der neuen PPB-Version erstellen, finden Sie in der Package.xml den (leeren) "Parameters"-Abschnitt:

  <Parameters />

Um Parameter zu definieren, ergänzen Sie diesen Abschnitt um die benötigten Parameter. Der Wert des jeweiligen Parameters ist der Defaultwert, den die daraus erzeugte Variable erhält, wenn Sie ihn nicht per Kommandozeile spezifizieren:

  <Parameters>
      <Parameter Name="Licensekey">111-1111111</Parameter>
      <Parameter Name="Companyname">MyOwnCompany</Parameter>
  </Parameters>

Für jeden Parameter werden automatisch Variablen definiert, die Sie dann in Ihrem Script verwenden können. Das Variablenformat ist ${InstallationParameters.<Name des Parameters>}, also in obigem Beispiel werden die beiden Variablen ${InstallationParameters.Licensekey} und ${InstallationParameters.Companyname} definiert. Die Variablen werden Ihnen bei Verwendung in den Dialogen der Packaging PowerBench, wie üblich, auch in der Variablen-Dropdownliste vorgeschlagen.

Um den Parametern einen Wert auf der Kommandozeile zu übergeben, rufen Sie deploy-application.exe  mit dem Paramter -InstallationParameters auf und spezifizieren dort die Werte, die Sie übergeben möchten im Format <Parametername>=Wert. Wenn Sie also (nur) den Firmennamen im Beispiel überschreiben möchten, rufen Sie das Paket so auf:

deploy-application.exe -InstallationParameters Companyname=MeineFirma

Falls der Wert des Parameters Leerzeichen enthalten sollte (was z.B. ja bei einem Firmennamen oder Verzeichnispfaden nicht ungewöhnlich wäre), dann muss einerseits alles nach InstallationParameters in doppelte Anführungszeichen einschließen und außerdem der oder die Wert(e) mit dem Leerzeichen noch in einzelne Anführungszeichen gekapselt werden:

deploy-application.exe -InstallationParameters "Companyname='CANCOM GmbH'"

Soll mehr als einen Parameterwert übergeben werden, sind die einzelnen Parameter durch Komma zu trennen. Nach den Kommata kann ein (optionales) Leerzeichen eingefügt werden:

deploy-application.exe -InstallationParameters "Licensekey=123-1234567, Companyname='CANCOM GmbH'"