Breaking Changes mit PSADT v4

Mit PSADT v4 kommen Breaking Changes auf uns zu. Hier möchte ich einen Ausblick auf die wichtigsten Änderungen geben und was man schon jetzt tun kann.

Standard Pipelines, die mit den Templates erstellt und nicht erweitert wurden, funktionieren weiterhin problemlos.

Generell empfehlen wir, auf die neuen Features Corporate Identity, Extra Dateien und Custom Code umzusteigen und den MMS bereits jetzt auf die Version 4.9.3 zu aktualisieren.

Eine wichtige Vorbereitung ist es sich einen Überblick über die aktuell eingesetzten Pipelines zu verschaffen und speziell auf Skript Tasks zu achten.

Die Version 5.0 des MMS erkennt Inkompatibilitäten und bietet Lösungen an, um die Pipelines so weit wie möglich automatisch zu migrieren. Gleichzeitig wird mit diesem Release ein PSADT v4 Testpaket in mehreren Versionen veröffentlicht, um die Pipelines testen zu können. Nach dem 5.0 Release werden die regulären APD Pakete vier Wochen lang weiterhin als PSADT v3 Pakete veröffentlicht.

Corporate Design

Die alte Lösung, die Akzentfarbe für den AskKillProcess Dialog über Text Suchen und Ersetzen in der CustomAppDeployToolkitUi.ps1 Datei zu ändern, funktioniert mit PSADT v4 Pakten nicht mehr.

Auch die Pfade für die Logos haben sich auch geändert und erfordern zusätzliche Konfiguration.
Außerdem kann ein neues Dialogdesign verwendet werden, aber das bisherige Design bleibt weiterhin Standard.

Wer bereits jetzt auf das neue Corporate Identity Feature umsteigt und beim bisherigen Dialogdesign bleiben möchte, bleibt von diesen ganzen Änderungen unberührt. Lediglich für die Nutzung des neuen Designs ist eine Konfiguration notwendig.

Für das Ändern der Akzentfarbe stellen wir auch ein PowerShell Skript bereit, das sowohl PSADT v3 als auch PSADT v4 unterstützt. Mit dem MMS 5.0 wird die Migration auf dieses neue Skript als automatische Lösung angeboten, falls noch das direkte Ersetzen in der CustomAppDeployToolkitUi.ps1 Datei im Einsatz ist.

Dateien

Die Ordner „Files“ und „SupportFiles“ bleiben im Paket unverändert erhalten. Den AppDeployToolKit Ordner gibt es aber in PSADT v4 nicht mehr. Dafür gibt es einen PsAppDeployToolKit Ordner mit anderem Inhalt.

Das Extra Dateien Feature wird die Option bieten unterschiedliche Dateien für PSADT v3 und PSADT v4 Pakete zu verwenden.

Zusätzlich wird auch eine neue Version des Merge-FilesToPackage.ps1 PowerShell Skript bereitgestellt, das sowohl PSADT v3 als auch PSADT v4 Pakete unterstützt. Die Logos werden auch weiterhin unterstützt, die technischen Unterschiede zwischen PSADT v3 und v4 werden dabei vom Skript gehändelt.
Für die zu kopierenden Dateien bleibt die bisherige Ordner Struktur für PSADT v3 Pakete. Für PSADT v4 Pakete wird der Root Pfad um einen „4.0“ Ordner erweitert, um die Daten sauber zu trennen.

Mit dem MMS 5.0 wird die Migration auf die neue Version des Skripts als automatische Lösung angeboten, wenn das alte Skript noch in Verwendung ist.

PowerShell Snippets

In PSADT v4 gibt es umfangreiche Breaking Changes bei der PSADT API und in der Folge davon auch bei unseren Extensions.

Wer in seinen Paketen PowerShell Snippets eingefügt hat, die keine Funktionen von PSADT oder unseren Extensions verwendet, ist davon natürlich nicht betroffen. Alle Hook Funktionen bleiben unverändert bestehen.

Das Custom Code Feature wird das Angeben von unterschiedlichem Code für PSADT v3 und PSADT v4 ermöglichen. Außerdem wird es beim Konfigurieren eine Validierung geben, ob der Code für PSADT v4 Pakete APIs aus PSADT v3 verwendet und umgekehrt.

Der Custom Code Task hat schon bisher eine Syntaxprüfung nach dem Einfügen des Codes durchgeführt und wird dann ebenfalls diese Prüfung auf nicht unterstützte APIs in der entsprechenden Version durchführen. Dadurch wird verhindert, dass versehentlich Pakete mit offensichtlich fehlerhaftem PowerShell Code ausgerollt werden.

Für das Add-ContentToCustomFunktion.ps1 PowerShell Skript wird es auch eine neue Version geben, das differenziert ob Code für ein PSADT v3 oder PSADT v4 Pakete eingefügt werden muss. Für die einzufügenden Skripte bleibt die bisherige Ordner Struktur für PSADT v3 Pakete erhalten. Für PSADT v4 Pakete wird der Root Pfad um einen „4.0“ Ordner erweitert, um die Skripte sauber zu trennen.

Mit dem MMS 5.0 wird die Migration auf die neue Version des Skripts als automatische Lösung angeboten, wenn das alte Skript noch in Verwendung ist.

Informationen zu den API-Änderungen finden Sie hier:

PSAppDeployToolkit
PSADT v3 Variablen
PSADT v3 Funktionen
PSADT v4 Variablen
PSADT v4 Funktionen

neo42 PSAppDeployToolkit Extensions
Changelog
Migration
Variablen
Funktionen

Personalisierte Texte

Die Datei AppDeployToolkit\AppDeployToolkitConfig.xml wird in PSADT v4 durch psd1 Dateien abgelöst.

Wenn diese Werte bisher über z. B. ein Text Suchen und Ersetzen Task modifiziert werden, dann kann der Task einfach mit der Task-Bedingung <Run.PackageFramework> == "3.0" versehen werden und es wird nur für PSADT v3 Pakete durchgeführt.

Bei PSADT v4 müssen neue psd1 Dateien mit den geänderten Texten im Paket abgelegt werden, weil die vorhanden nicht editiert werden können. Die Details werden später in einem dedizierten Beitrag erklärt. Aber es bietet sich an für diese Dateien das Extra Dateien Feature zu verwenden und die Dateien als PSADT v4 exklusiv einzustellen, damit sie nicht unnötig in PSADT v3 Pakete kopiert werden.

Setup.inf

Bei der verwendeten Setup.inf Datei für Empirum und Matrix42 Cloud entfallen die Einstellungen für UninstallKeyName und UninstallDisplayName.

Wenn diese Werte bisher über z. B. ein Text Suchen und Ersetzen Task modifiziert werden, dann kann der Task einfach mit der Task-Bedingung <Run.PackageFramework> == "3.0" versehen werden und es wird nur für PSADT v3 Pakete durchgeführt.

Bei Fragen bitte einfach an den Support wenden.

4 „Gefällt mir“