MSIX: Microsofts einheitliches Package-Format für alle Windows-Anwendungen

    MSIX-ÄnderungspaketBereits 2018 hatte Micro­soft mit MSIX ein neues Format für die Verteilung und Instal­lation von Softw­are angekündigt. Windows 10 unterstützt dieses seit 1809 und mit 2004 kam MSIX App Attach hinzu. Es bietet Vorteile wie die Aus­führung von Code in Con­tainern sowie flexible Deploy­ment-Optionen.

    Seit vielen Jahren hat sich MSI unter Windows als Standard­format für Installations­pakete 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 Errungen­schaften des Modern Packaging and Deployment, das Microsoft mit APPX und UWP einführte.

    Trennung von App und Betriebs­system

    Dazu gehört vor allem, dass Anwendungen nicht mehr herkömmlich installiert werden, sondern in einem Container laufen. Dieser virtualisiert die Registrier­datenbank 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 Überein­stimmung 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 Bandbreiten­verbrauch gering zu halten.

    Daher erlaubt dieses Format differen­zielle 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 System­abbild integrieren, um das Deployment zu beschleunigen. Endbenutzer benötigen somit keine admini­strativen 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ühr­baren 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.

    Anwendungen können vom Entwickler als MSIX publiziert oder nachträglich in dieses Format konvertiert werden.

    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.

    Repackaging von Anwendungen mit dem MSIX Packaging Tool am Beispiel von Notepad++.

    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 erwartungs­gemäß lassen sich drauf keine Apps ausführen, die spezifische Funktionen von Windows 10 nutzen.

    MSIX verteilen

    Microsoft sieht eine ganze Reihe von Möglich­keiten 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 Gruppen­richtlinien 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/msix­bundle 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 Betriebs­system unverändert bleibt und sich die Apps komplett entfernen lassen.

    Installieren von Notepad++ über den MSIX-Installer nach der Migration auf das neue Format

    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. Inkompa­tibilitäten entstehen dort vornehmlich dadurch, dass Programme ihre Konfigurations­daten 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 Betriebs­system entflechtet. Dies soll für eine höhere Erfolgsrate bei der Installation sowie für ein rückstands­freies 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 Mobil­gerä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.

    Keine Kommentare