SCADT - Shiftavenue Custom App Deployment Toolkit

Torsten Rywelski

Mai 22, 2025

5 min

Eine industrielle Paketierstraße repräsentiert die einfache Paketierung mit SCADT

Custom-Paketierung auf Basis der PSADT 4.x

Wir freuen uns, Ihnen ShiftDeployment(SCADT) vorzustellen – Unser weiterentwickeltes CustomAppDeploymentToolkit, das auf dem Fundament des populären PSAppDeploymentToolkit (PSADT) basiert.

Unsere Erfahrung aus zahlreichen Projekten zeigt, dass viele Paketierer die Umstellung auf das PSADT als schwierig empfinden und sogar davor zurückschrecken.

Ein Software-Paketierer tut sich schwer mit zu vielen PowerShell-Paketen

Ein Software-Paketierer tut sich schwer mit zu vielen PowerShell-Paketen

Das ShiftDeployment(SCADT) ist eine Vereinfachung des PSAppDeploymentToolkit, um den Umstieg zu vereinfachen. Unser Ziel war es, die Paketierer mit PowerShell vertraut zu machen und sie in die Lage zu versetzen, diese Technologie für ihre Paketierungsaufgaben zu nutzen.

Da PowerShell auf einem Windows-System alle Aufgaben bewältigen kann, stellt sich die Frage, warum man überhaupt alternative Paketierungssprachen in Betracht ziehen sollte, wenn doch alles in PowerShell möglich ist.

Aus meiner Erfahrung heraus erweist sich für viele Kollegen die Komplexität der PSADT-Struktur als problematisch.
Die komplette Script-Logik befindet sich normalerweise in einer einzigen PS1 Datei der Invoke-AppDeployToolkit.ps1. Aus diesem Grund haben wir das Script in mehre Scripts ausgelagert (dot Sourcing). Im Install.ps1 wird der komplette Maschinenteil gescriptet.
Im InstallUser.ps1 befindet sich der reine Userteil und in der Uninstall.ps1 ist die Deinstallation der Applikation zu paketieren. In allen Scripts ist die Nutzung der PSADT Funktionen möglich, aber natürlich auch alle darüber hinaus verfügbaren PowerShell Funktionen.

Image


Durch die Aufteilung des Scriptes haben wir festgestellt, dass es für viele Paketierer wesentlich leichter ist, sich auf ein reines PowerShell Scripting einzulassen. Der Paketierer sieht nur seinen eigenen Code, welcher für die eigentliche Installation der Applikation nötig ist. Weiterhin ist ein Update des Templates leichter, da die komplette Scriptlogic ausgelagert ist.

Zur Paketerstellung wird VisualStudio Code von Microsoft genutzt. Durch eine kleine Anpassung der Entwicklungsumgebung sind alle Befehle des PSADT auch im Intelisense/Autocomplete vorhanden. Siehe dazu auch meinen Blog. Aber auch Scripten mit jedem anderen Editor ist durchaus möglich. Zur Bearbeitung der PS1 Dateien würde sogar ein einfacher Texteditor genügen.

Durch das integrierte Logging des PSADT werden alle PSADT Funktionen automatisch protokolliert.

Mithilfe eines SourceCode Verwaltungssystem wie z. B. Git wird die Paketierung mit wenigen Schritten revisionssicher. Auch lassen sich mithilfe von Git Templating oder mithilfe von Submodulen das Updaten des Paket-Templates vereinfachen. Auch sind hier automatisierte DevOps Testmethoden denkbar.

Erweitern Sie das PSADT mit eigenen Funktionen, haben Sie Aufgaben , die sie in jedem oder häufig wiederkehrend in Paketen erledigen müssen? Das ist kein Problem: PSADT ist um eigene Funktionen erweiterbar.

Hier mal ein Beispiel eines Paketes für den Adobe Reader.

Beispiel anhand einer Adobe-Acrobat-Paketierung im VSC-Editor

Beispiel anhand einer Adobe-Acrobat-Paketierung im VSC-Editor

Das SCADT und das Handling von Userparts.
Wie weiter oben schon beschrieben wird der Userpart also Dateien, Links, RegistryKeys, die in die Profile eines Users gehören, separat in der InstallUser.ps1 Datei eingebunden. Damit auch hier keine Umgewöhnung des Paketierers nötig ist, wird hierzu auch das PSADT mit all seinen Funktionen benutzt, dies bringt gleichzeitig den Vorteil des inkludierten Loggings mit. Das Aktivieren des UserParts erfolgt durch einfaches Aufrufen einer SCADT Funktion während der Installation des Maschinenteils . Sobald sich nun ein User an diesem PC anmeldet, wird der entsprechende Userpart installiert.


Die UI des PSADT/SCADT
Während der Installation wird der Anwender, sofern dieser Angemeldet ist, über die Durchführung einer Installation informiert.

Image

Sollten Anwendungen geöffnet sein, die während der Paket-Installation z.B. wegen eines Updates geschlossen sein müssen, so kann dem Anwender dies angezeigt werden.

Image

Es hat sich gezeigt, dass auch mit der Scriptsprache PowerShell unerfahrene Paketierer mithilfe des SCADT sehr schnell brauchbare Ergebnisse erzeugen. Viele Paketierer wollen nach den ersten Paketen nicht wieder zurück. Die Umgewöhnungsphase ist kurz und nach ein paar erzeugten Anwendungs-Scripten stellt sich eine Routine ein. Die Paketerstellung geht gleich schnell mitunter an einigen Stellen sogar schneller voran.

Sie haben Fragen oder benötigen Unterstützungen bei Migrationsprojekten von Paketierung/Software-Deployment mit dem SCADT? Sprechen Sie uns gern über das Kontaktformular an oder sichern Sie sich einen Platz in unseren Basics Trainings zu PowerShell und dem PSAppDeployToolkit!

MORE ARTICLES LIKE THIS


April 22, 2025 | 2 mins

Tech certifications – hobby or actually helpful for your career?

Are tech certifications truly career boosters or just trendy badges? This article explores their real-world value in hiring, talent development, and p ...

April 30, 2025 | 2 mins

PSADT Scripting with Visual Studio Code

Learn how to seamlessly integrate the PSAppDeployToolkit (PSADT) into Visual Studio Code - with IntelliSense and autocompletion for efficient PowerShe ...

Follow Us

Our Services

shiftavenue® and the shiftavenue® logo are registered trademarks of shiftavenue GmbH.