Python Silent Installation – Paketierung mit Ivanti DSM

eScript

Was umfasst dieses Tutorial?

Das Tutorial hat den Schwerpunkt darauf, welche Schritte notwendig sind, um einen Python Silent Installation durchzuführen. Es werden keine Grundlagen von Ivanti DSM erläutert. Grundlegende Begriffe wie Installationsreihenfolge, eScript, Policies etc. sollten klar sein. Wenn Sie eine andere Softwareverteilung nutzen, können Sie dieses Tutorial trotzdem nutzen. Die Installationsparameter zur Python Silent Installation sind mit jeder Softwareverteilung möglich.

Schwierigkeit: Einfach

Paketierung

Bevor wir beginnen, laden Sie bitte den offiziellen Installer von der Python Website herunter.

Vorbereitungen in der DSM

Legen Sie ein neues eScript mit einem sinnvollen Namen in Ihrer DSMC an und definieren Sie in den Paket-Eigenschaften alle für Sie notwendigen Einstellungen. Bei mir sind das:

  • Neustart Steuerung: Kein Neustart erforderlich
  • Installations-Kontext: Installation im Kontext des Benutzers oder Service
  • Installationsreihenfolge: 30000
  • Eintrag im DSM Event-Reporting: Nie
  • Installation der benutzerbezogenen Teile: Nein
  • Deinstallation unterstützt: Ja
  • Reinstallation unterstützt: Ja
  • Reparatur unterstützt: Nein
  • Update unterstützt: Ja
  • Änderung unterstützt: Ja

Mit einem Rechtsklick auf unser eScript öffnen wir das Kontextmenü und wählen: „Paketverzeichnis einsehen“ um direkt auf dem Depot ins Paketverzeichnis zu springen. Hier legen wir einen Ordner Extern$ an. In diesen Ordner speichern wir unsere Paket Dateien.

Parameter für Silent-Installation

Python gibt es als Executable Datei, die Installationsparameter sehen wie folgt aus:

ParameterAuswirkung
/passiveZeigt Fortschritt an – Keine Benutzerinteraktion
notwendig
/quietKeine Benutzeroberfläche
/simpleBenutzerkonfiguration unterbinden
/uninstallDeinstallation durchführen
/layout [Verzeichnis]Vorab alle Komponenten herunterladen
/log [Dateiname]Logfile schreiben

Paketierung in Ivanti DSM

Für uns reicht der Parameter /quiet aus. Wir erweitern den Quiet Befehl jedoch noch mit 2 Eigenschaften: InstallAllUsers und PrependPath. InstallAllUsers bewirkt das Python für alle Benutzer auf dem Computer verfügbar ist. PrependPath erweitert die Pfad Variable sodass Python von der Kommandozeile aus verwendbar ist.

Installationsparameter erstellen

Erstellen Sie für Ihr Script folgende Installationsparameter als Boolean mit Vorgabewert „True“

Installationsparameter für Python

Das Installations-eScript

Set('setup','python-3.6.4.exe')
Set('params','/quiet InstallAllUsers=%InstallationParameters.InstallAllUsers% PrependPath=%InstallationParameters.PrependPath%')
!
ExecuteEx('".\Extern$\%setup%" %params%','returncode','20')/?/TS
If not %returncode%='0'
 If not %returncode%='3010'
  ExitProcEx(Failed,'Script %_SCRIPT_NAME% failed on install with errorcode %returncode%')

Deinstallation

Die Deinstallation von Python kann man mit dem Setup machen, welches man auch zur Installation verwendet hat. Einfach als Parameter /uninstall in Kombination mit Quiet verwenden.

: $BeginUninstallScript
Set('setup','python-3.6.4.exe')
Set('params','/uninstall /quiet')
!
ExecuteEx('".\Extern$\%setup%" %params%','returncode','20')/?/TS
If not %returncode%='0'
 If not %returncode%='3010'
  ExitProcEx(Failed,'Script %_SCRIPT_NAME% failed on uninstall with errorcode %returncode%')

Das komplette eScript

!This kind of template can be used in the eScript Creation Task
!
!Created by: Griep Marco
!Created at: 19.02.2018 - 09:36:56
!
Set('setup','python-3.6.4.exe')
Set('params','/quiet InstallAllUsers=%InstallationParameters.InstallAllUsers% PrependPath=%InstallationParameters.PrependPath%')
!
ExecuteEx('".\Extern$\%setup%" %params%','returncode','20')/?/TS
If not %returncode%='0'
 If not %returncode%='3010'
  ExitProcEx(Failed,'Script %_SCRIPT_NAME% failed on install with errorcode %returncode%')
!
: $BeginUninstallScript
Set('setup','python-3.6.4.exe')
Set('params','/uninstall /quiet')
!
ExecuteEx('".\Extern$\%setup%" %params%','returncode','20')/?/TS
If not %returncode%='0'
 If not %returncode%='3010'
  ExitProcEx(Failed,'Script %_SCRIPT_NAME% failed on uninstall with errorcode %returncode%')

Hilfe bei der Paketierung

Sie benötigen Unterstützung bei der Paketierung einer Applikation? Schauen Sie doch mal in meinem Dienstleistungen Bereich vorbei oder hinterlassen Sie mir eine Nachricht über das Kontaktformular. Alle Anfragen sind erstmal unverbindlich.

Schreibe einen Kommentar