Matrix42 UEM Softwareverteilung - Best Practices

Daniel White
2025-12-31T22:29:51Z

Inhalt des Dokuments

Einführung in die Optionen der Softwareverteilung mit Matrix42 UEM. Best Practices für häufig genutzte Softwareverteilungsaufgaben.

Softwareverteilung mit Matrix42 UEM bietet vielfältige Möglichkeiten, Software effizient und mit möglichst wenig Anwenderbeeinträchtigung auf vielen Computern zu installieren. Aufgrund der vielfältigen Anforderungen kann der Administrator nahezu jedes denkbare Szenario bedienen. Dieser Guide richtet sich an Kunden, die mit Matrix42 starten, bzw. nur wenig Erfahrung gesammelt haben. Konzepte, wie Softwareverteilung nachts per Wake-on-Lan, oder wie Server per granular konfigurierten Wartungszeiträumen aktualisiert werden, sind nicht Bestandteil dieses Dokuments.

Matrix42 und seine Partner bieten hierfür Schulungen und Beratung an.

Grundsätzliche Optionen der Softwareverteilung mit Matrix42 UEM

Agent basiert mit Empirum (Windows und macOS). Favorisierte Lösung zur Softwareverteilung und in diesem Dokument beschrieben.

Umfangreiche Optionen zur Steuerung der Benutzererfahrung und Re-Paketierung.

Es besteht die Möglichkeit über lokale Depotserver Last zu verteilen.

Durch die Matrix42 PackageCloud mit sehr vielen vorpaketierten Installationspaketen ist ein schneller Einstieg möglich.

Per MDM Layer des Betriebssystems mit Silverback (alle OS)

Keine Steuerung der Installation durch Anwender.

Bei Windows auf MSI beschränkt.

Stärken des MDM basierten Management liegen in der umfangreichen Konfiguration von Restriktionen und Profilen sowie der schnellen Abarbeitung.

Allgemeines

Die Empirum Softwareverteilung basiert auf vorbereiteten Softwarepaketen (Empirum Pakete) mit deren Installationsskript und dem auf den Computern installierten UEM Agent. Die Steuerung, wie der Anwender die Software präsentiert bekommt, erfolgt in der Konfiguration des UEM Agent und den Eigenschaften des Pakets in der Paketbibliothek im Zusammenspiel mit den bei der Zuweisung konfigurierten Verteilungsoptionen. Einige der beschriebenen Anwendungsfälle enthalten mehrere Optionen, die jeweils spezifische Vorteile bieten und es auf die jeweilige Situation ankommt, welche Variante sinnvoll ist. Wir empfehlen nach Möglichkeit die jeweilige Standardvariante zu wählen.
Diese Beschreibung bezieht sich auf Windows Computer, die meisten Aussagen treffen auch auf macOS Computer zu.

Komponenten

Empirum Pakete

Die zu installierende Software wird mit dem Matrix42 Package Wizard für die automatisierte Installation vorbereitet. Grundlage können MSI-Installationen oder andere Setup-Routinen sein. Alternativ können fertig vorbereitete Applikationen aus der Matrix42 PackageCloud bezogen werden.

Wenn Software Pakete selbst paketiert werden sollen, wird dringend empfohlen, das Matrix42 UEM Empirum Packaging Training zu absolvieren.

Installationsskript

Jede Installation wird durch ein Installationsskript (setup.inf) gesteuert. Der UEM Agent ruft dieses zur Installation, Re-Installation und Deinstallation mit passenden Parametern auf. Im Script werden einige Steuerungsoptionen konfiguriert. Beispielsweise ob eine eventuell installierte Vorversion automatisch vor einer Installation deinstalliert werden soll, oder ob ein anschließender Reboot dynamisch erkannt bzw. erzwungen werden soll.

Wichtige Eigenschaften zur Steuerung der Installation:

AskUnintallOld: Entscheidet, ob vor der Installation des Pakets dessen Vorgänger automatisch deinstalliert wird.

Reboot: Entscheidet, ob das Paket dem UEM Agent abhängig von der Installation (Dateien konnten nicht überschrieben werden oder MSI übergibt einen Reboot Parameter), oder eine Vorgabe zum Reboot nach der Installation übergibt. Der UEM Agent sammelt in der Regel Reboots in einem Installationslauf und wird am Ende diesen anfordern.

Abschnitt Requirements: Ermittelt zur Laufzeit der Installation eventuell nicht vorhandene Voraussetzungen. Beispiel zur Ermittlung der minimalen Windows Version und .Net:
[Requirements]
%WINDOWSVERSION% >= "6.1.1"
GetDotNetPatchLevel ("4.7 FULL") >= "2"
Wird eine definierte Voraussetzung nicht erfüllt, wird die Installation mit Fehler-Meldung und Fehler-Log abgebrochen.

Paketeigenschaften

Jedes Paket erhält Konfigurationen, die zur Steuerung der Installation wichtig sind. Beispiele sind der Name und die Version, anhand deren der UEM Agent auch erkennt, ob ein Paket schon installiert ist. Auch eine eventuelle Abhängigkeit zu einem anderen Paket und die zulässigen Betriebssystemversionen werden in den Eigenschaften des Pakets festgelegt. Alle Paketeigenschaften werden in der Datei SwDepot.dds auf dem Server gespeichert und vom UEM Agent interpretiert.

Wichtige Paketeigenschaften zur Steuerung der Installation:

Hersteller, Name und Version: Steuert durch den Wert in „Schlüssel“ die Erkennung, ob die Software bereits installiert wurde.

Revision: Automatische Wiederholung der Installation bei Erhöhung (Abhängig von der Verteiloption „Erneuern“).

Betriebssystem: Der UEM Agent filtert das Paket heraus, wenn das Betriebssystem des Computers nicht gewählt ist. Diese Einstellung wird auch auf dem Reiter (Ordner) im Software Depot gesetzt und muss ggf. mit angepasst werden.

Reihenfolge: Wird ein Paket angegeben, dann wird es vor diesem Paket installiert, wenn beide zugewiesen sind. Grundsätzlich nutzt der UEM Agent die Reihenfolge in der Softwarebibliothek (von oben nach unten) wenn keine Reihenfolge dediziert angegeben ist. Reihenfolgen sind nicht zwingend – ist das vorrangige Paket nicht zugewiesen, wird trotzdem installiert.

Abhängigkeiten: Steuert, welche Voraussetzungen erfüllt sein müssen. Beispielsweise Paket A muss vorhanden sein, oder Paket B darf nicht vorhanden sein. Mit den UND/ODER-Klassen kann die Konfiguration vereinfacht werden (alle Versionen des .Net Pakets in eine ODER-Klasse). Abhängigkeiten sind zwingend und werden vor einer Installation geprüft.

Erweiterte Bedingungen: Flexible Prüfungen, die eine Ausführung erlauben oder unterbinden. Entgegen der „Requirements“ Sektion in den Installationsskripts erfolgt die Prüfung vor der Ausführung.

Verteiloptionen

In den Zuweisungen (UEM App oder Empirum Management Console) kann man unter Anderem Optionen festlegen, die steuern, ob ein Paket installiert bzw. deinstalliert werden soll, oder ob der Benutzer eine Möglichkeit bekommt, die Installation zu verschieben. Die Verteilungsbefehle jedes Computers werden jeweils in einer Datei mit dem Namen des Computers <Computername>.ddc auf dem Server gespeichert und vom UEM Agent interpretiert. Die Datei enthält alle zugewiesenen Pakete mit deren Verteilungsoptionen.
Wichtige Verteilungsoptionen zur Steuerung der Installation:

Installation/Deinstallation: Der Agent führt entsprechende Aktion aus, wenn alle Prüfungen ergeben, dass dies notwendig ist.

Erneuern: Die Installation wird bei einer erhöhten Paket-Revision automatisch wiederholt.

Immer Erzwingen: Der Agent wird die Installation bei jedem Prüflauf (Polling) erneut durchführen. Sollte nur sehr selten benötigt werden.

Verschieben möglich: Der Anwender kann die Software so lange verschieben, bis das Enddatum erreicht ist. Ist aber eine andere zugewiesene Software nicht mehr verschiebbar, wird das Paket mit installiert.

Optionale (De-)Installation: Der Anwender kann die Software so lange verschieben, bis das Enddatum erreicht ist. Es erfolgt keine Zwangsinstallation, wenn eine andere Software nicht mehr verschoben werden kann. Ideal für Windows Feature Updates mit mehreren Reboots. Ist das Enddatum erreicht, wird das Paket wie ein normal zugewiesenes Paket behandelt.

Zeitplaner: Die Installation kann zu einem vorgegebenen Termin stattfinden. Der Anwender bekommt diese erst ab dem Startzeitpunkt angeboten, wobei das Paket schon vorab in den lokalen Cache des Computers geladen wird. Zudem sind Wiederholte Installationen möglich. Wiederkehrende Installationen werden zwangsweise ohne Abfrage vor allen anderen Paketen durchgeführt.

Nicht anzeigen: Der Benutzer bekommt auch bei aktivierter Benutzerabfrage in der Agent Konfiguration dieses Paket nicht angezeigt. Diese Pakete werden immer vor allen anderen Paketen installiert.

UEM Agent Konfiguration

Der UEM Agent erhält über die Konfigurationsdatei (Agent Template.xml) alle notwendigen Informationen, um sich mit dem passenden Empirum Server zu verbinden. Zudem wird gesteuert, wann Software installiert werden darf (Wartungszeitfenster) und ob der Anwender Installationsaufträge angezeigt bekommt und diese verschieben darf. Grundsätzlich installiert der UEM Agent bei nicht angemeldetem Benutzer alle Pakete, die zur Installation anstehen, ohne Nachfrage. Eine Verzögerung nach dem Computerstart kann konfiguriert werden. Installationen sind in der Regel in den Maschinen- und Benutzerteil unterteilt. Benutzerteile werden nur bei angemeldetem Benutzer installiert bzw. nachinstalliert, sofern die Maschinenspezifische Installation vorher schon durchgeführt wurde.

Anwendungsfälle

Ein Paket soll mit Anwenderinformation installiert werden.

Die Anwender sollen die Installation mehrere Tage zur Installation angeboten bekommen bevor die Installation automatisch erfolgt. Beispiel: Adobe Reader wird 7 Tage verschoben vom Anwender und am nächsten Tag kann es nicht mehr verschoben werden und wird somit installiert.

Notwendige Einstellungen und Ablauf:

Im Agent Template ist die Option „Benutzeranfrage anzeigen“ aktiviert.
EMC > Konfiguration > Software Management > Empirum Agent >AgentUI

Die Verteilungsoptionen des Pakets sind auf Installation und Verschieben möglich eingestellt:
EMC > Management > Administration > rechter Mausklicke auf ein Software Paket > Verteilungsoptionen

Der Computer ist in der Zuweisungsgruppe oder einer Konfigurationsgruppe zugeordnet und aktiviert.

Der Anwender ist angemeldet.

Der Benutzer bekommt beim nächsten Prüflauf des UEM Agent (Polling) eine Installationsabfrage und kann verschieben. Sollte ein Paket gleichzeitig zur Installation zugewiesen aber nicht mehr verschiebbar sein, dann wird auch das Adobe Paket in diesem Installationslauf mit installiert. Alternative ist die Nutzung „Optionale Installation“ anstatt „Verschieben möglich“, dann wird das Paket erst nach Ablauf der eingestellten Zeit installiert.

Ein Paket soll wiederholt installiert werden, ohne dass die Anwender gestört werden.

Beispiel: Jeden Tag soll eine Inventarisierung von allen Computern stattfinden, unabhängig davon, ob ein Benutzer anmeldet ist.

Notwendige Einstellungen und Ablauf:

Die Verteilungsoptionen des Pakets sind auf Installieren, Erneuern mit der Option Nicht anzeigen eingestellt:

Der Zeitplaner in den Verteiloptionen ist auf einmal pro Tag eingestellt, mit der Option „Überfälligen Job / Installation nachholen“.

Das Paket wird täglich nach dem nächsten Prüflauf des UEM Agent nach der eingestellten Zeit (hier 00:00 Uhr) im Hintergrund installiert. Der Anwender bekommt keinen Installationsdialog angezeigt. Ist kein Anwender angemeldet, wird im Installationsstatus nur „Systemwartung“ anstatt des Paketnamens angezeigt.

Ein Paket soll nicht installiert werden, wenn ein anderes Paket oder .Net nicht auf dem Computer installiert ist.

Beispiel: Paint.net darf nur installiert werden, wenn .Net installiert ist.

Notwendige Einstellungen und Ablauf:

Option 1 (Standardvariante):

In den Paketeigenschaften wird das .Net Paket als Abhängigkeit definiert.
EMC > Konfiguration > Software Management > rechter Mausklicke auf ein Software Paket > Software-Abhängigkeiten > Bearbeiten

Der UEM Agent prüft vor der Ausführung, ob diese Abhängigkeit erfüllt ist und sendet eine Log-Meldung, falls dies nicht so ist. Eine Installation erfolgt nicht. Der Anwender wird informiert, da der Installationsdialog das Paket anbietet und mit einer Requirement-Meldung abbricht.

Option 2:

In den Erweiterten Bedingungen wird eine Prüfung konfiguriert, welche die minimale .Net Version prüft.
EMC > Konfiguration > Software Management > rechter Mausklicke auf ein Software Paket > Paketeigenschaften > Bedingungen > Erweitert
HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full >= 528049

Der UEM Agent prüft diese Voraussetzung vor der Ausführung. Es entsteht keine Benutzerstörung. Das Paket wird nicht per Installationsdialog oder Kiosk angeboten. Ein Log informiert den Administrator.

Option 3:

Das Installationsskript enthält im Abschnitt „Requirements“ eine Prüfung auf das installierte .Net:
[Requirements]
GetDotNetPatchLevel ("4.7 FULL") >= "2"

Der UEM Agent startet die Installation und das Installationsskript bricht mit einer Fehlermeldung ab. Der Anwender wird ggf. gestört.

Ein Paket soll immer nach einem anderen festgelegten Paket installiert werden

Beispiel: Notepad++ Plugins soll immer nach dem Notepad++ Paket installiert werden.

Standardvariante: Die Installationsreihenfolge wird grundsätzlich über die Reihenfolge im Depot eingestellt. Somit wird ein Software Paket, das weiter oben angeordnet ist vor einem weiter unten angeordneten Software Paket installiert, wenn beide zugewiesen sind. Ist nur das weiter unten angeordnete Software Paket zugewiesen, wird dieses installiert. Auch bei einem Fehler während der Installation des ersten Software Pakets, wird das zweite Software Paket installiert.

Die Reihenfolge kann unabhängig von der Anordnung, auch in den Eigenschaften des Paketes angegeben werden. Auch hier besteht kein Zwang, dass die vorher zu installierende Software zugewiesen bzw. installiert sein muss.

Wird eine Abhängigkeit zu einem Paket definiert, dann muss dieses vor dem Paket installiert werden. Ist es nicht zugewiesen, erfolgt eine Fehlermeldung und das Paket wird nicht installiert.

Ein Paket soll ein eventuell installiertes gleiches Paket mit niedriger Version vor der Installation deinstallieren

Beispiel: Adobe Reader 16.0 soll Adobe Reader 15.0 vor der Installation deinstallieren.

Standardverfahren: Im Paketskript wird die Option „AskUnintallOld=1“ gesetzt und nur das neue Paket zugewiesen. Der Agent startet die Installation und das Installationsskript wird einen eventuell vorhandenen Vorgänger deinstallieren.

Optional kann das Vorgängerpaket mit der Verteiloption Deinstallieren zusätzlich zum neuen Paket zugewiesen werden. Der UEM Agent deinstalliert das ältere Paket und installiert dann das neue.

Ein Paket soll in zwei unterschiedlichen Versionen installiert werden

Beispiel: Office 14.0 soll parallel zu Office 16.0 installiert werden.

Standardverfahren: Das Vorgängerpaket ist schon installiert. Im Paketskript ist die Option „AskUnintallOld=0“ gesetzt und das neue sowie das alte Paket zugewiesen. Der Agent startet die Installation des neueren zusätzlich zum älteren Paket. Wichtig: Ist das Vorgängerpaket noch nicht installiert, wird nur das neue Paket installiert.

Alternativ kann man in dem Fall, dass Versionen parallel als eigenständige Software installiert sein können, den Paketnamen bei der Paketierung anpassen. Somit behandelt der UEM Agent die Pakete vollkommen unabhängig voneinander.

Ein Paket soll auf allen Computern nochmals aktualisiert werden

Beispiel: Eine Datei oder eine Konfiguration wurde geändert.

Standardverfahren: Die Revision im Installationsskript und in den Eigenschaften des Pakets wird erhöht. Alle Computer, die dieses Paket mit den Verteiloptionen „Installieren & Erneuern“ oder nur „Erneuern“ zugewiesen haben, werden das Paket automatisch im Hintergrund installieren. Eine erneute Aktivierung ist nicht erforderlich.

Alternativ kann man das Paket anpassen und die Option Reinstallation auf dem zugewiesenen Paket verwenden, um eine erneute Installation zu forcieren. Der Nachteil besteht in der nicht eindeutigen Nachvollziehbarkeit, da das Paket im Log und in der Inventarisierung gleich erscheint. Die Option Reinstallation steht auf einem Paket oder auf einem Computer zur Verfügung.

Ein Paket soll ausschließlich installiert werden, wenn ein Benutzer angemeldet ist

Dies ist beispielsweise bei Softwarepaketen wichtig, die Benutzerabfragen enthalten oder Bedingungen prüfen, die nur bei einem angemeldetem Benutzer möglich sind.

In den Paketeigenschaften wird der Installationskontext auf „Nur nach Benutzeranmeldung“ eingestellt.

Der UEM Agent lädt das Paket nach der Zuweisung und Aktivierung herunter, startet die Installation aber erst, wenn ein Benutzer angemeldet ist.

Ein Paket soll zuerst an einige Testcomputer verteilt und anschließend weiter ausgerollt werden.

Beispiel: Eine neue SAP-Client Version soll erst auf einigen Arbeitsplätzen getestet werden, um dessen reibungslose Installation und Funktion zu testen.

Standardverfahren: Alle Computer, die die neue Version erhalten sollen, werden in eine neue Zuweisungsgruppe hinzugefügt.
Diese Gruppe enthält das neue Paket mit der Verteilungsoption Installation. Je nach Erfolg der Tests werden weitere Computer hinzugefügt. Sobald das Paket komplett ausgerollt werden soll, wird die alte Zuweisung des Vorgängers ersetzt. Hierzu verwendet man die globale Suche nach Software in den Zuweisungen mit Multiselect und wählt „Software ersetzen“ sowie „Aktuelle Verteilungsoptionen für alle zu ersetzenden Pakete übernehmen“.

Alternative per Paketfreigabe: Das neue Paket wird in den Eigenschaften nicht „Zur Installation Freigegeben“.

Bei allen Computern, auf denen die Pakete, die nicht zur Installation freigegeben sind dennoch installiert werden sollen, wird die Variable „READYTOINSTALL_TEST“ auf 1 gesetzt.

Computer, die diese Variable konfiguriert haben, werden alle nicht allgemein freigegebenen Pakete installieren die ihnen zugewiesen sind. Bei allen anderen Computern werden diese Pakete nicht in die DDC-Steuerungsdatei geschrieben und somit auch nicht installiert.
Das Paket wird allen Computern zugewiesen, die das Paket letztendlich erhalten sollen.
Sobald alle Tests erfolgreich waren, wird das Paket zur allgemeinen Installation freigegeben.

Die Variable „READYTOINSTALL_TEST“ sollte nur bei Testcomputern oder sogenannten „Early Adaptors“ aktiviert sein.