Tags: Software-Distribution, Applikations-Virtualisierung, RDS
Bereits 2018 hatte Microsoft mit MSIX ein neues Format für die Verteilung und Installation von Software angekündigt. Windows 10 unterstützt dieses seit 1809 und mit 2004 kam MSIX App Attach hinzu. Es bietet Vorteile wie die Ausführung von Code in Containern sowie flexible Deployment-Optionen.
Seit vielen Jahren hat sich MSI unter Windows als Standardformat für Installationspakete etabliert. Daneben kommen aber viele Anwendungen noch mit einem EXE-Setup. Mit dem Microsoft Store führte Microsoft zusätzlich APPX-Pakete ein, in dem Entwickler ihre UWP-Anwendungen ausliefern.
Zusätzlicher Aufwand durch mehrere Formate
Diese Vielfalt hat einige Nachteile. So müssen Admins etwa EXE-Installer für die Verteilung über GPOs als MSI verpacken. Hinzu kommt, dass Win32-Anwendungen, die als EXE oder MSI vorliegen, sich nicht über den Store vertreiben lassen. Dieses Problem sollte die Desktop Bridge beheben, die jedoch den Zugang zum Quellcode der Programme voraussetzt und sich daher an Entwickler richtet, um ihre Applikationen neu zu verpacken.
MSIX kommt somit nicht bloß die Aufgabe zu, ein Format für alle Arten von Anwendungen (Win32, UWP, WPF, Windows Forms) zu etablieren. Obendrein übernimmt es die Errungenschaften des Modern Packaging and Deployment, das Microsoft mit APPX und UWP einführte.
Trennung von App und Betriebssystem
Dazu gehört vor allem, dass Anwendungen nicht mehr herkömmlich installiert werden, sondern in einem Container laufen. Dieser virtualisiert die Registrierdatenbank und Teile des Dateisystems, so dass die Installation und die Ausführung von Software den Zustand des OS nicht ändern.
Ein Vorteil dieses Ansatzes besteht darin, dass sich Anwendungen zu einem höheren Grad erfolgreich installieren (Microsoft spricht von 99,96 Prozent) und rückstandsfrei entfernen lassen. Außerdem erhöht die Abschottung der Applikationen von wichtigen OS-Komponenten die Sicherheit.
Wer sich bei diesem Feature an App-V erinnert fühlt, liegt nicht ganz falsch. Man könnte in MSIX durchaus die nächste Generation der Applikations-Virtualisierung sehen. Eine Übereinstimmung gibt es auch darin, dass sich nicht alle Programme auf diese Weise verpacken lassen. Das gilt etwa für solche, die einen Treiber installieren wollen.
Update der Änderungen
Nachdem MSIX auf die Distribution von Software über die Cloud ausgerichtet ist, bestand eine weitere Anforderung darin, den Bandbreitenverbrauch gering zu halten.
Daher erlaubt dieses Format differenzielle Updates, die sich auf die geänderten Blöcke beschränken. Außerdem können sich Apps Dateien teilen, so dass diese nur einmal vorgehalten werden müssen.
Installation pro Benutzer
Wie bei Store Apps erfolgt die Installation bevorzugt pro User. Allerdings kann man eine App schon vor der Installation von Windows in das Systemabbild integrieren, um das Deployment zu beschleunigen. Endbenutzer benötigen somit keine administrativen Rechte, um MSIX-Packages zu installieren.
Dieser Ansatz birgt aber auch einige Nachteile. Dazu gehört, dass man Apps nicht ohne weiteres über runas im Kontext eines anderen Users (mit erhöhten Rechten) starten kann. Wenn die App für diesen Account nicht installiert wurde, dann scheitert die Ausführung.
Hinzu kommt, dass MSIX offiziell zwar mit Mechanismen für das Whitelisting wie Windows Defender Application Control oder AppLocker kompatibel ist. Dabei ist es aber eine gängige Praxis, ausführbaren Code im Benutzerprofil generell zu blockieren. User Installer stehen dem aber entgegen, weil diese Anwendungen dann bei einer Pfadregel für %userprofile% nicht mehr laufen.
Migration bestehender Anwendungen
Um die Akzeptanz für MSIX zu erhöhen und seine Verbreitung zu beschleunigen, senkt Microsoft die Hürden für die Umstellung bestehender Anwendungen. Anders als beim Repackaging von Win32-Programmen als APPX mit Desktop Bridge ist der Zugriff auf deren Quellcode nicht mehr erforderlich.
Vielmehr bietet Microsoft mit dem MSIX Packaging Tool ein eigenes Werkzeug, um MSI, EXE, App-V oder eigene Setup-Scripts als MSIX zu verpacken. Zusätzlich bieten Hersteller wie Flexera oder Advanced Installer eigene und komfortablere Produkte für diese Aufgabe.
Als weitere Maßnahme, um MSIX zu größerer Verbreitung zu verhelfen, rüstete Microsoft ältere Versionen von Windows mit der Unterstützung für dieses Format nach. Zum einen lässt sich das benötigte Subsystem unter Windows 10 1709 und 1803 nachinstallieren, was aber mittlerweile keine große Bedeutung mehr haben dürfte.
Zum anderen veröffentlichte Microsoft mit MSIX Core eine abgespeckte Variante für Windows 7 / 8.x und Windows Server. Ihr fehlt das Container-Feature und erwartungsgemäß lassen sich drauf keine Apps ausführen, die spezifische Funktionen von Windows 10 nutzen.
MSIX verteilen
Microsoft sieht eine ganze Reihe von Möglichkeiten vor, um Anwendungen als MSIX im Unternehmen zu verteilen. Dazu zählen natürlich klassische Werkzeuge für diese Aufgabe wie SCCM (der nun ECM heißt) oder Intune.
Da MSIX unter das strategische Konzept namens Modern Management fällt, spielt die traditionelle Software-Verteilung jedoch keine so große Rolle mehr. Dies zeigt sich auch darin, dass sich solche Packages nicht mehr über Gruppenrichtlinien installieren lassen.
Wie generell die Mechanismen der modernen PC-Verwaltung (Autopilot, MDM, PowerShell DSC) reduziert auch MSIX die Abhängigkeit von einem lokalen Active Directory. Das gilt besonders für die Self-Service-Optionen bei der MSIX-Installation.
Dazu gehören natürlich App Stores wie der Microsoft Store oder der Store for Business. Darüber hinaus können Unternehmen einfach einen Web-Server aufsetzen und dort die MIME-Types application/msix bzw. application/msixbundle registrieren. Anschließend kann man den Download der Apps über eine HTML-Seite anbieten, wobei die URIs in den Links mit ms-appinstaller:?source= beginnen müssen.
Eine solche Lösung bietet sich für BYOD-Szenarien an, bei denen Unternehmen in der Regel keinen Agent für ein Client-Management-System auf dem Endgerät installieren können. In diesem Kontext erweisen sich zudem die App-Container von MSIX als besonders vorteilhaft, weil das Betriebssystem unverändert bleibt und sich die Apps komplett entfernen lassen.
Als weitere Optionen für die MSIX-Installation, die sich primär an Admins richten, kommen DISM (für Offline-OS-Images) sowie winget in Frage. Letzteres ist Microsofts neues Tools für das Package Management, das aktuell nur einen Client für die Kommandozeile bietet.
Anwendungen dynamisch ins OS laden mit App Attach
Die Abschottung der Applikationen vom Betriebssystem durch den MSIX-Container ist eine Eigenschaft, die besonders den Anforderungen der Remote Desktop Services entgegen kommt. Inkompatibilitäten entstehen dort vornehmlich dadurch, dass Programme ihre Konfigurationsdaten in ungeeignete Bereiche der Registry oder des Dateisystems schreiben.
Nachdem Programme ihre Konfiguration nicht wie bei einer herkömmlichen Installation erst im OS hinterlegen müssen, kann man sich MSIX auch zunutze machen, um Anwendungen dynamisch während der Laufzeit zum System zu laden. Dies ist die Idee hinter App Attach, das in Windows 10 2004 als Preview enthalten ist.
Dieses Feature lagert Apps in ein virtuelles Laufwerk aus, ähnlich wie User Profile Disks oder FSLogix dies für Benutzerprofile tun. Diese lassen sich nach Bedarf im laufenden System mounten, so dass die darin enthaltene App sofort verfügbar ist.
Aktuell ist dieses Feature in Windows Virtual Desktop in einer Vorabversion implementiert, wobei man dort für diesen Zweck auch die Multiuser-Edition von Windows 10 nutzen kann. Unklar ist bis dato, ob MSIX App Attach auch für die Remote Desktop Services in der nächsten Ausführung von Windows Server enthalten sein wird.
Fazit
Mit MSIX versucht Microsoft ein einheitliches Package-Format zu etablieren, das Anwendungen vom Betriebssystem entflechtet. Dies soll für eine höhere Erfolgsrate bei der Installation sowie für ein rückstandsfreies Entfernen sorgen.
Die Ausführung in einem Container sowie die Installation pro User, die keine erhöhten Rechte erfordert, ist zudem eine wichtige Voraussetzung für die Software-Distribution nach dem Vorbild von Mobilgeräten. Sie kommt auch der Virtualisierung von Desktops zugute, wo sich Programme mit MSIX App Attach dynamisch einbinden lassen.
Die Möglichkeit, bestehende Anwendungen mit dem kostenlosen Package Manager migrieren zu können, beseitigt eine wesentliche Hürde für den Wechsel auf das neue Format. Admins sollten deshalb damit rechnen, dass sie in naher Zukunft immer öfter auf MSIX-Anwendungen stoßen werden.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Office 365 und 2019 auf Remote Desktop Session Host: Lizenzierung und Installation
- Vorhandene Setup-Programme als MSIX verpacken mit dem MSIX Packaging Tool
- Windows Virtual Desktop, Autopilot, intunewin: Microsoft propagiert Windows 10 als Cloud-Service
- VMware Horizon 6: Virtuelle Desktops, Terminal-Sessions und App-Publishing
- RemoteApp von Windows Server 2012 (R2) auf Windows 7/8.x verteilen
Weitere Links