Sowohl in meinem Kurs Einrichten und Verwalten von Azure Virtual Desktop, als auch im Microsoft-MOC-Kurs AZ-140 (Konfigurieren und Betreiben von Microsoft Azure Virtual Desktop), den Sie ebenfalls bei mir buchen können, wird die Bereitstellung von Anwendungen in einer Virtual-Desktop-Umgebung erörtert. Diesen Themen greife ich mit diesem kleinen Beitrag zwar nicht vor, allerdings besteht aus meiner Trainer-Erfahrung Klärungsbedarf rund um die Begrifflichkeiten bei den Microsoft-Paketierungsformaten wie EXE, MSI, AppX oder MSIX sowie den thematisch verwandten Bereitstellungstechnologien von Remote-Apps in virtuellen Umgebungen, wie App-V.

Ausgangspunkt der Idee für diesen kleinen Beitrag sind die verschiedenen Möglichkeiten und Verfahren der Anwendungsbereitstellung in einer Virtual-Desktop-Umgebung wie Microsoft RDS, VMware Horizon oder Citrix. Diese sind nämlich:

  • Einfügen von Apps in ein Masterimage
  • Verwenden Sie Tools wie SCCM oder Intune für die zentrale Bereitstellung und Verwaltung
  • Dynamische App-Bereitstellung (AppV, VMWare AppVolumes oder Citrix AppLayering)
  • Erstellen von benutzerdefinierten Tools oder Skripts mit Microsoft-Werkzeugen oder einem Drittanbietertool

Speziell in einer Azure-Virtual-Desktop-Umgebung (AVD) wird der Punkt „Dynamische App-Bereitstellung“ durch die Tools App Attach und MSIX App Attach bedient, allerdings wird MSIX App Attach am 1. Juni 2025 eingestellt.

App Attach versus MSIX App Attach?

Sowohl bei App Attach als auch bei MSIX App Attach werden Anwendungen nicht lokal auf Sitzungshosts oder Images installiert, was das Erstellen benutzerdefinierter Images für Ihre Sitzungshosts erleichtert und den Betriebsaufwand und die Kosten für Ihre Organisation reduziert.

Stattdessen werden Anwendungen in Containern ausgeführt, welche die Benutzerdaten, das Betriebssystem und andere Anwendungen voneinander trennen. Dies erhöht nicht nur die Sicherheit und erleichtert die Fehlerbehebung, sondern ermöglicht durch das Kapseln der jeweiligen Abhängigkeiten in Containern überhaupt erst jene Portabilität, die das dynamische Anfügen an die Benutzersitzung erlaubt. Diese „Container“ stecken in VHD-Dateien, die auf einem Windows-Fileserver oder einer Azure Dateifreigabe gehostet sind und werden erst beim Verbinden mit dem Sessionhost dynamisch in die betreffenden Benutzersitzung „eingespielt“. Schlüssel-Features von App Attach sind:

  • Flexibilität: Anwendungen können auf mehreren Host-Pools verwendet werden.
  • Granulare Kontrolle: Berechtigungen können pro Anwendung und pro Benutzer festgelegt werden 
  • Einfache Updates: Anwendungen können ohne Wartungsfenster aktualisiert werden 

Darüber hinaus bietet App Attach alle Vorteile des „Vorgängers“ MSIX App Attach:

  • Containerisierung: Anwendungen laufen in isolierten Containern, was die Sicherheit erhöht 
  • Einfache Verwaltung: MSIX-Pakete können leicht erstellt und verwaltet werden 
  • Kompatibilität: Unterstützung für verschiedene Windows-Versionen 

Der Hauptunterschied besteht also darin, dass App Attach neben MSIX auch andere Formate wie AppX und App-V unterstützt, während MSIX App Attach speziell für MSIX-Pakete entwickelt wurde. MSIX App Attach ist aber wie gewähnt zum Herbst dieses Jahres abgekündigt.

Sind die auszuliefernden Apps erstmal paketiert und in Form von VHD-Dateien auf den unterstützten Remote-Speicherdiensten bereitgestellt (siehe unten), lassen sich sich im Azure-Portal im Bereich „Azure Virtual Desktop“ – Bereich zur „Anfügung“ konfigurieren („App Attach erstellen“).

Wurden MSIX-Pakete in VHDs verpackt auf einer Dateifreigabe bereitgestellt, kann man in AVD einen App Attach erzeugen.
Wurden MSIX-Pakete in VHDs verpackt auf einer Dateifreigabe bereitgestellt, kann man in AVD einen App Attach erzeugen.

Was ist MSIX ?

Das der bisherigen Bereitstellungstechnologie für dynamische Remote Apps „MSIX App Attach“ zwingend zugrundeliegende Paketierungsformat ist MSIX. Die oben geschilderte Kapselung der Abhängigkeiten, bzw. Trennung von Betriebssystem und Daten wird nämlich durch die Container-Technologie im MSIX-Format ermöglicht, während für das dynamische Anhängen des MSIX-Pakets, dessen erneutes Paketieren in einer virtuellen Umgebung (VHD) und Bereitstellen auf einer Dateifreigabe zuständig ist.

Sie müssen also jede App, welche Sie via MSIX App Attach in einer AVD-Umgebung bereitstellen möchten zunächst in ein MSIX-Paket verpacken. Wie das im Groben funktioniert, zeige ich weiter unten. Zunächst aber hier eine Komplettierung der „historischen“ Paketformate von Microsoft, damit Sie die Begriffe besser einordnen können:

EXE: Eine .exe-Datei ist ein selbstlaufendes Programm. EXE-Dateien sind selbstentpackende Archive mit integriertem Installer.

MSI: MSI steht für „Windows Installer“, eine Microsoft-Technologie, die mit Office 2000 eingeführt wurde, um mehr Kohärenz im Bereich der Anwendungsbereitstellung und -verwaltung unter Windows zu schaffen. MSI-Dateien sind für automatisierte Installationen gedacht und nicht zum Starten einer manuellen Installation.

MSIX: MSIX hingegen bietet eine robuste und zuverlässige moderne App-Installationserfahrung. MSIX ist eine Paketierungstechnologie, die Anwendungen und deren Zustand vom Betriebssystem trennt. MSIX-Pakete müssen mit einer vertrauenswürdigen Instanz digital signiert werden, entweder mit Hilfe einer PKI oder in kleinen Umgebungen mit selbstsignierenden Zertifizierungsstelle. 

AppX: AppX ist ein Paketformat, das von Microsoft mit Windows 8 eingeführt wurde und hauptsächlich für Universal Windows Platform (UWP) Apps verwendet wird. Ein AppX-Paket enthält alle notwendigen Dateien, Metadaten und Berechtigungen, die für die Installation einer Anwendung erforderlich sind. Digitale Signaturen und Verschlüsselung sorgen dafür, dass die App nicht manipuliert wurde und aus einer vertrauenswürdigen Quelle stammt. Auch bei AppX sind sämtliche Komponenten einer Anwendung in einer einzigen Datei verpackt, was die Installation und Aktualisierung erleichtert.

App-V: In diesem Zusammenhang wird häufig auch „App-V“ genannt. App-V ist aber kein Paketierungsformat, sondern bereits eine komplette Technologie für Anwendungsvirtualisierung und -streaming. Sie ermöglicht es, Anwendungen in Echtzeit auf Clients zu streamen, ohne dass eine lokale Installation erforderlich ist . App-V kapselt Anwendungen in einer virtuellen Umgebung, sodass sie keine Änderungen am zugrunde liegenden Betriebssystem vornehmen.

App-V gehört also in anderen VDI-Umgebungen (RDS, Citrix..) in die gleiche Kategorie, wie App Attach selbst bei AVD, allerdings unterstützt App Attach wiederum auch App-V.

Wie entsteht ein MSIX-Paket?

Zum Erstellen eines MSIX-Paktes benötigen Sie das MSIX Packaging Tool, welches im Windows-Store zu finden ist.

Das MSIX-Packaging-Tool kann aus dem Windows-Store installiert werden.
Das MSIX-Packaging-Tool kann aus dem Windows-Store installiert werden.

Der weitere Ablauf ist dann im Groben wie folgt: (mehr dazu im Kurs Azure Virtual Desktop):

Schritt 1: Vorbereitungen

  • Verwenden Sie zum Installieren des Packaging-Toos eine „saubere“ Umgebung, wie z. B. eine virtuelle Maschine oder einen frisch aufgesetzten physischen Computer, was sicherstellt, dass keine unnötigen Anwendungen oder Dienste im Hintergrund laufen.
  • Installieren Sie dort das Packaging-Tools aus dem Windows-Store.

Schritt 2: MSIX Packaging Tool einrichten

  • Starten Sie das MSIX Packaging Tool und wählen „Neues Paket erstellen“.
  • Wählen Sie die Verpackungsmethode. Sie können entweder auf dem lokalen Computer/VM oder auf einem Remote-Computer arbeiten. 

Schritt 3: Anwendung installieren und „erfassen“

  • Das Tool überprüft, ob der „MSIX-Packaging-Tool-Driver“ installiert ist und aktiviert ihn bei Bedarf. Dabei oder danach kann ein Reboot erforderlich sein, wie auch im späteren Verlauf das eine oder andere Mal. Rufen Sie on einem solchen Fall ggf. das Tool einfach erneut auf und machen an entsprechender Stelle weiter.
  • Installieren Sie die gewünschte Anwendung. Folgen Sie dazu den Anweisungen des Tools, um die Anwendung zu installieren, die Sie in ein MSIX-Paket umwandeln möchten, wie z. B. ein EXE- oder MSI-Paket. Es funktioniert aber mit mehr oder weniger Aufwand auch mit benutzerdefinierten Paketen oder Skripten.
  • Das Tool „erfasst“ dabei sämtliche Änderungen, die während der Installation vorgenommen werden, zeichnet diese also quasi auf.

Schritt 4: Paket erstellen

  • Danach müssen Sie das Paket mit Metadaten anreichern. Geben Sie die dazu die erforderlichen Informationen wie Paketname, Version und Herausgeber an.
  • Signieren Sie das MSIX-Paket mit einem Zertifikat, um sicherzustellen, dass es aus einer vertrauenswürdigen Quelle stammt. Das ist zwingend!! Es funktioniert auch ein selbst signiertes Zertifikat.

Schritt 5: Paket testen und verteilen

  • Installieren Sie dann das neue MSIX-Paket in einer Test-Umgebung, um sicherzustellen, dass die Anwendung korrekt funktioniert.
  • Abschließend verteilen Sie das MSIX-Paket mit Ihrer bevorzugten Methode, wie z. B. Microsoft Intune, einen anderen Softwareverteilungsdienst oder mittels App Attach in einer AVD-Umgebung. 

Wie entsteht aus einem MSIX-Pakete eine VHD für App Attach ?

Haben Sie ein MSIX-Paket gebaut, können Sie es unter AVD mit App Attach ausliefern. Dazu müssen Sie es in eine virtuelle Festplatte (VHD) verpacken und diese auf einem Fileserver oder eine Azure-Dateifreigabe platzieren, damit App Attach die VHD von dort aus dynamisch an die Benutzersitzung anhängen kann. Gehen Sie dazu wie folgt vor:

Schritt 1: Vorbereitungen

  • Laden Sie das MSIXMGR-Tool herunter und extrahiere es in einen Ordner.
  • Stellen Sie sicher, dass Sie über Administratorrechte auf Ihrem Windows 11-Gerät verfügen.
  • Sorgen Sie dafür, dass Hyper-V aktiviert ist. Das klappt bei Windows 10/11 Pro problemlos, auch wenn es sich um ein Client-Betriebssystem handelt  Sie müssen Hyper-V dazu nicht zwingend direkt auf dem Host-System (Dom0) installieren. Der Vorgang klappt mit aktivierter Nested Virtualization auch aus einer virtuellen Maschine heraus.

Schritt 2: VHD erstellen

  • Starten Sie eine Eingabeaufforderung mit Administratorrechten und navigieren zu dem Ordner, in dem Sie das MSIXMGR-Tool extrahiert haben.
  • Verwenden Sie den folgenden Befehl, um aus Ihrem MSIX-Paket zu erstellen:

    msixmgr.exe -Unpack -packagePath „C:\path\to\your\app.msix“ -destinationPath   
    „C:\path\to\output\folder“ -applyACLs -createVHD

  • Dieser Befehl entpackt zunächst die MSIX-Datei und wendet ACLs an, bevor die VHD-Datei erstellt wird. Sie können aber auch diesen Befehl nutzen:

     msixmgr.exe -Create -PackagePath „C:\path\to\your\app.msix“ -DestinationPath
     „C:\path\to\output\folder“ -VHD

  • Letzterer erstellt direkt eine VHD-Datei aus der MSIX-Datei. 

Worin besteht der Zusammenhang mit FSLogix App Masking?

In meinem Kurs kommt in diesem Zusammenhang häufig auch die Frage nach „FSLogix App Masking“ auf, weil das Feature dem Namen nach ebenfalls etwas mit der App-Bereitstellung unter AVD zu tun hat. Das ist nur bedingt richtig, bzw. eigentlich sogar falsch. Beide Features lassen sich aber kombinieren.

FSLogix App Masking ist ein Feature von FSLogix. FSLogix ist primär eine Lösung für das dynamische Anhängen von Benutzerprofilen an User-Sessions in VDI-Umgebungen (nicht nur bei/für AVD), ähnlich wie App Attach Anwendungen in AVD-Umgebungen dynamisch an Benutzersitzungen anführt. Beide Lösungen haben übrigens die nahezu gleichen Voraussetzungen für die zugrundeliegende Speicherlösung, z. B. im Zusammenhang mit den unterstützen Identitätsszenario und der identitätsbasierenden Authentifizierung. Die hierzu erforderlichen Maßnahmen erläutere ich in diesem Artikel nicht. Sie werden aber im Kurs Azure Virtual Desktop besprochen.  

FSLogix App Masking hingegen ermöglicht das Verbergen oder Anzeigen von Anwendungen auf Basis von Benutzergruppen und/oder Richtlinien. Dies bedeutet, dass Anwendungen auf einem Master-Image installiert (oder per App Attach bereitgestellt) werden können, aber nur bestimmten Benutzern sichtbar sind. Dies ist ideal, wenn die meisten Benutzer eine Anwendungen benötigen, aber einige wenige Benutzer davon ausgeschlossen werden sollen.

FSLogix App Masking kann zusammen mit MSIX App Attach und/oder App Attach verwendet werden, um eine noch feinere Kontrolle über die Sichtbarkeit und Bereitstellung von Anwendungen zu ermöglichen. Zum Beispiel können Anwendungen, die als MSIX-Pakete bereitgestellt werden, zusätzlich durch FSLogix App Masking für bestimmte Benutzergruppen verborgen werden. FSLogix App Masking funktioniert demnach nicht nur mit App Attach, sondern kann auch unabhängig davon verwendet werden, um die Sichtbarkeit von Anwendungen zu steuern.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..