Anwendungen mit MSIX paketieren und sichere Updates verwalten

  • MSIX vereint Verpackung, Identität und Container und bietet eine saubere Installation, eine rĂĽckstandsfreie Deinstallation sowie Zugriff auf erweiterte Windows-Integrationen.
  • Mit Visual Studio und dem MSIX Packaging Tool können Sie das Manifest konfigurieren, das Paket signieren und .msix-Dateien sowie Bundles generieren und Dateien fĂĽr den Microsoft Store hochladen.
  • Differenzielle Updates mit AppxBlockMap.xml laden nur die geänderten Blöcke herunter, optimieren die Bandbreite und gewährleisten sichere Updates.
  • MSIX App Attach und Citrix Integration ermöglichen die einfache Bereitstellung von gepackten Anwendungen aus VHD/VHDX/CIM-Containern in virtualisierten Umgebungen, ohne die Basis-Images aufzublähen.

Anwendungen mit MSIX paketieren und sichere Updates verwalten

Das Verpacken von Anwendungen mit MSIX und die Verwaltung sicherer Updates sind zu einem zentralen Bestandteil des modernen Windows-Ökosystems geworden – sowohl für Entwickler als auch für Systemadministratoren und Teams für Desktop-Virtualisierung. MSIX ist weit mehr als nur ein weiteres Format; es definiert, wie eine Anwendung installiert, aktualisiert, isoliert und in das Betriebssystem sowie in Dienste wie den Microsoft Store, Azure Virtual Desktop und Citrix Virtual Apps and Desktops integriert wird.

Darüber hinaus haben Verbesserungen in den Bereichen Sicherheit, Leistung, Bandbreiteneinsparung und vereinfachte Administration dazu geführt, dass MSIX und die zugehörigen Technologien (wie MSIX App Attach oder MSIX Application Connection) traditionelle Installationsprogramme wie EXE oder MSI sowie Virtualisierungslösungen wie App-V schrittweise ersetzen. Dies wird erreicht, während gleichzeitig die Kompatibilität mit anspruchsvollen Geschäftsumgebungen erhalten bleibt und ein hochmodernes, differenziertes Upgrade-Modell geboten wird.

Was ist MSIX und warum ist es so wichtig fĂĽr Windows?

MSIX ist das moderne Paketformat für Windows-Anwendungen. Es vereint die Vorteile von AppX, MSI und App-V in einem einzigen Modell. Es bietet Paketidentität, eine saubere Installation, rückstandsfreie Deinstallation, inkrementelle Updates und einen schlanken Container, der Konflikte mit dem System und anderen Anwendungen reduziert.

Die MSIX-Paketidentität ermöglicht es Windows, mit absoluter Genauigkeit zu wissen, welche Anwendung welche API aufruft, und ermöglicht so Funktionen, die zuvor nur UWP-Apps zur Verfügung standen: Hintergrundaufgaben, umfangreiche Benachrichtigungen, Kontextmenüintegrationen, Dateizuordnungen, benutzerdefinierte Protokolle oder Ausführungsaliase aus der Konsole.

Im Gegensatz zu unverpackten Anwendungen, die weiterhin auf EXE/MSI, traditionelle Installation und keine Paketidentität angewiesen sind, bietet MSIX ein zuverlässigeres, automatisches und besser kontrollierbares Installations- und Aktualisierungserlebnis und vereinfacht gleichzeitig die Arbeit der IT-Abteilung, indem nach der Deinstallation keine Restdateien, verwaisten DLLs oder Registrierungsschlüssel zurückbleiben.

Es gibt auch das Modell „Paketierung mit externem Speicherort“ . Dieses ist für Desktop-Anwendungen konzipiert, die noch nicht ihren gesamten Inhalt in das MSIX-Paket verschieben können. Bei diesem Ansatz erhält die Anwendung eine Paketidentität, aber einige ihrer Daten oder Binärdateien verbleiben außerhalb des Containers, was eine schrittweise Migration ermöglicht.

Werkzeuge zum Verpacken von MSIX

MSIX-Pakettypen und zugehörige Formate

Innerhalb des MSIX-Ökosystems gibt es nicht nur einen Dateityp, sondern mehrere sich ergänzende Formate, die alles von der direkten Installation bis zur für den Microsoft Store oder Drittanbieterinfrastrukturen optimierten Verteilung abdecken. Dies sind die gängigsten:

  • Anwendungspaket (.msix oder .appx). Dies ist das „Basispaket“, das die Anwendung und ihre Ressourcen fĂĽr eine einzelne Gerätearchitektur (x86, x64, ARM usw.) enthält. Um mehrere Architekturen mit separaten Paketen zu unterstĂĽtzen, wird fĂĽr jede Architektur eine eigene Datei generiert.
  • Anwendungsbundle (.msixbundle oder .appxbundle)Ein Container, der mehrere Anwendungspakete gruppiert, die jeweils auf eine bestimmte Architektur ausgerichtet sind. Dank dieser Gruppierung lädt das System nur das optimale Paket fĂĽr jedes Gerät herunter und installiert es, wodurch die Anwendung mit einer einzigen verteilbaren Datei mit einer wesentlich größeren Bandbreite an Geräten kompatibel wird.
  • Datei zum Hochladen des Anwendungspakets (.msixupload oder .appxupload). Speziell entwickelt fĂĽr die Veröffentlichung Ihrer App im Microsoft Store ĂĽber das Partner Center. Es kann ein oder mehrere MSIX-Pakete oder -Bundles sowie eine komprimierte Symboldatei (.appxsym) enthalten, mit der Sie Leistung und AbstĂĽrze direkt von der Partnerplattform aus analysieren können.

Formate fĂĽr die MSIX-Anwendungseinbindung, wie z. B. .vhd, .vhdx oder .cim, kommen zum Einsatz, wenn es um die Einbindung von MSIX-Anwendungen (MSIX-Anwendungseinbindung) in Umgebungen wie Azure Virtual Desktop oder Citrix geht. In diesen Szenarien sind die Inhalte des MSIX-Pakets in einer virtuellen Festplatte oder einem CimFS-Image vorkompiliert und werden dynamisch auf den Benutzerrechnern bereitgestellt.

Voraussetzungen fĂĽr die Arbeit mit MSIX und dem MSIX Packaging Tool

Um Anwendungen einfach mit MSIX zu verpacken, stellt Microsoft das MSIX Packaging Tool bereit. Dieses Tool ist im Microsoft Store erhältlich und kann auch offline verteilt werden. Damit lassen sich MSI- und EXE-Installationsprogramme, App-V 5.x-Pakete und sogar ClickOnce-Bereitstellungen sowohl über eine grafische Benutzeroberfläche als auch über die Befehlszeile in das neue MSIX-Format konvertieren.

Die grundlegenden Voraussetzungen für die Verwendung des MSIX Packaging Tools sind Windows 10 Version 1809 oder höher, Administratorrechte auf dem Computer und, falls die Installation über den Store erfolgt, ein gültiges Microsoft-Konto (persönlich oder geschäftlich) für den Zugriff auf den Download.

Das Tool kann auf verschiedene Arten installiert werden:

  • Direkt aus dem Microsoft Store, mithilfe des WinGet-Befehls winget install "MSIX Packaging Tool".
  • ĂĽber ein Offline-Paket, das später mithilfe von PowerShell in das System integriert wird. Add-AppxProvisionedPackage zusammen mit der entsprechenden Lizenzdatei.

In fortgeschrittenen Geschäftsszenarien ist es üblich, das MSIX Packaging Tool mit anderen Dienstprogrammen wie MSIX Manager, AppVentiX oder MSIX Hero zu kombinieren, um die Konvertierung in VHD/VHDX/CIM-Container zu automatisieren und große Kataloge von verpackten Anwendungen zu verwalten.

msix

Vorbereitung der Anwendung vor der Verpackung mit MSIX

Vor der Umstellung einer Anwendung auf MSIX empfiehlt es sich, einige vorbereitende Tests und Optimierungen durchzuführen. Das ist zwar nicht glamourös, erspart aber viel Ärger im Produktivbetrieb.

  • ĂśberprĂĽfen Sie, ob die Anwendung ordnungsgemäß funktioniert. Visual Studio vereinfacht die Bereitstellung und das Debuggen in allen Gerätefamilien, die Sie unterstĂĽtzen möchten, selbst fĂĽr Desktop-Anwendungen, die als UWP verpackt sind.
  • Leistung optimieren. Mit den Profiling-Tools von Visual Studio – CPU-Auslastung, Speichernutzung, UI-Timeline-Analyse usw. – wird ein MSIX-Paket eine langsame Anwendung nicht beschleunigen. Es sorgt lediglich fĂĽr eine reibungslosere Installation und Aktualisierung, die Verantwortung fĂĽr die zugrundeliegende Performance liegt jedoch weiterhin beim Entwickler.
  • PrĂĽfen Sie die Kompatibilität mit .NET Native.Release-Builds ermöglichen es diesem nativen Compiler in der Regel, die Laufzeitleistung zu verbessern. Es ist sehr wichtig, Ihre Anwendung mit dem nativen Release-Build und nicht nur im Debug-Modus zu testen.

Konfigurieren des Pakets in Visual Studio: das MSIX-Manifest

In der Welt von MSIX, Das Herzstück der Konfiguration ist das Manifest., die Datei Package.appxmanifestDies ist eine XML-Datei, die die Identität der App, den Herausgebernamen, die Version, die Symbole, die unterstützten Ausrichtungen, die Systemfunktionen, die Dateizuordnungen, die benutzerdefinierten Protokolle, die Ausführungsaliase, die Hintergrundaufgaben und vieles mehr definiert.

Visual Studio beinhaltet eine Grafikdesigner von Manifesten Dadurch entfällt die manuelle Bearbeitung von XML-Dateien. Erweitern Sie im Projektmappen-Explorer einfach das Projekt und doppelklicken Sie auf Package.appxmanifest und arbeiten Sie mit den verschiedenen Registerkarten: allgemeine Informationen, Funktionen, visuelle Ressourcen, Verpackung usw.

  • Auf der Registerkarte „Visuelle Ressourcen“ FĂĽr das StartmenĂĽ, die Taskleiste, die Anwendungsliste oder Toast-Benachrichtigungen werden Symbole und Logos definiert.
  • Auf der Registerkarte „Verpackung“ Wir können die Veröffentlichungsdetails und vor allem das Paketsignaturzertifikat festlegen. Alle MSIX-Anwendungen mĂĽssen signiert sein. Andernfalls stuft Windows sie nicht als vertrauenswĂĽrdig ein.

Systemfunktionen, Integrationen und Erweiterungen

Eine der größten Stärken von MSIX ist die Vielzahl an Integrationen, die es über sein Manifest mit dem Betriebssystem ermöglicht. Hier werden Funktionen, Verknüpfungen und Erweiterungspunkte aktiviert, wodurch es sich von einer herkömmlichen Anwendung unterscheidet.

  • Systemfähigkeiten Sie kontrollieren den Zugriff auf sensible Ressourcen: Standort, Mikrofon, Kamera, Netzwerk, Benutzerdateien, USB-Geräte usw. Es ist entscheidend, nur die tatsächlich benötigten Berechtigungen anzugeben. Ăśbermäßige Anfragen können zu Warnungen, Zertifizierungsproblemen oder Ablehnungen durch IT-Administratoren fĂĽhren.
  • Kundenspezifische Protokolle Ermöglichen Sie der App, auf URIs wie z. B. zu reagieren miapp://loqueseaDies dient der Deep-Linking-Funktion aus dem Web, der Integration mit anderen Anwendungen oder SSO-Abläufen und wird im Manifest konfiguriert, indem das Schema und die zu startende ausfĂĽhrbare Datei angegeben werden.
  • Archivvereinigungen Sie definieren, welche Dateitypen (nach Dateiendung oder MIME-Typ) die Anwendung beim Doppelklick öffnet und welches Symbol dafĂĽr angezeigt wird. MSIX bietet ein klares, deklaratives Modell zum Registrieren dieser Zuordnungen, ohne die Windows-Registrierung unnötig zu ĂĽberladen.
  • Der AusfĂĽhrungsalias (AppExecutionAlias) ermöglicht es, die App ĂĽber die Konsole durch Eingabe eines einfachen Befehls zu starten. miapp.exeohne die vollständige Route kennen zu mĂĽssen C:\Program Files\WindowsAppsEs ist besonders nĂĽtzlich fĂĽr vorkonfigurierte Kommandozeilenprogramme wie MSIX.

Anwendungen mit MSIX paketieren und sichere Updates verwalten

Die Anwendung mit Visual Studio verpacken: vom Projekt zu MSIX

Sobald Projekt und Manifest fertig sind, wird im nächsten Schritt das MSIX-Paket generiert. Visual Studio bietet einen sehr benutzerfreundlichen Paketierungsassistenten, der sowohl das Sideloading als auch die Veröffentlichung im Microsoft Store abdeckt.

Der grundlegende Arbeitsablauf in Visual Studio besteht aus:

  1. Öffnen Sie die Lösung.
  2. Klicken Sie mit der rechten Maustaste auf das verpackte Projekt.
  3. Wählen Sie die Option „Veröffentlichen“.
  4. Wählen Sie „Anwendungspakete erstellen“.

Anschließend fragt der Assistent, ob Sie das Paket signieren möchten (die übliche Antwort ist ja), ermöglicht Ihnen die Auswahl zwischen Sideloading und Store und hilft Ihnen bei der Auswahl des Signaturzertifikats.

Zum Signieren können Sie ein Zertifikat aus dem lokalen Zertifikatsspeicher , eine exportierte PFX-Datei oder ein selbstsigniertes Entwicklungszertifikat verwenden. In Unternehmensumgebungen empfiehlt sich die Verwendung eines Zertifikats, das von der internen PKI oder einer öffentlichen Zertifizierungsstelle ausgestellt wurde, damit es von allen Geräten ohne zusätzliche Schritte erkannt wird.

Wenn der Microsoft Store als Ziel ausgewählt ist , erstellt der Assistent automatisch die Upload-Datei (.msixupload oder .appxupload), die das Bundle und die Symbole enthält, die für die Leistungs- und Absturzanalyse im Partner Center benötigt werden. Wird nur das Sideloading ausgewählt, entsteht eine .msix- oder .msixbundle-Datei, die für die Verteilung über andere Kanäle bereit ist.

MSIX-Paketinstallation und lokales Testen

Die Installation eines MSIX-Pakets ist in Testszenarien überraschend einfach : Ein Doppelklick auf die .msix- oder .msixbundle-Datei öffnet den App Installer, der Name, Herausgeber, Version, angeforderte Berechtigungen und eine Installationsschaltfläche mit Fortschrittsanzeige anzeigt.

Wenn Pakete im Modus „App-Pakete“ in Visual Studio generiert werdenEin PowerShell-Skript ist enthalten (Add-AppDevPackage.ps1) in einem Ordner mit der Endung _TestWenn Sie dieses Skript mit „Mit PowerShell ausführen“ ausführen, werden das Entwicklungszertifikat und das Paket automatisch installiert und nach Abschluss eine Erfolgsmeldung angezeigt.

Auch die Installation und Deinstallation können verwaltet werden. beispielsweise mit PowerShell Add-AppxPackage, Get-AppxPackage y Remove-AppxPackagewas für Automatisierungsskripte und CI/CD-Pipelines von entscheidender Bedeutung ist.

MSIX-App-Anbindung und Anwendungsverbindung in virtualisierten Umgebungen

MSIX App Attach ist die moderne Methode zur Anwendungsbereitstellung in Umgebungen wie Azure Virtual Desktop und EUC-Lösungen von Drittanbietern. Anstatt die Anwendung im Basisimage oder auf jedem einzelnen Rechner zu installieren, wird ein Container mit der erweiterten Anwendung eingebunden und der Benutzersitzung hinzugefügt. In diesen Infrastrukturen müssen die üblichen Probleme mit RDP-Verbindungen berücksichtigt werden.

Diese Technik basiert auf VHD-, VHDX- oder CIM-Containern , die den Inhalt des MSIX-Pakets enthalten. Diese Dateien befinden sich auf einer Netzwerkfreigabe oder in Azure Storage und werden bei Bedarf dynamisch auf VDAs (Virtual Delivery Agents) oder Sitzungshosts eingebunden. Die Vorteile dieses Tools sind:

  • Halten Sie die Systemabbilder kleiner und generischer.
  • VerkĂĽrzen Sie die Zeit, die fĂĽr die Lieferung neuer Maschinen benötigt wird.
  • Versionskontrolle erleichtern.
  • Minimieren Sie die Auswirkungen von Softwareänderungen auf gemeinsam genutzte Desktop-Computer.

Es ist unerlässlich, dass MSIX-Pakete mit einem vertrauenswürdigen Zertifikat signiert werden, damit das System ihre Installation und Verwendung zulässt. Das Zertifikat muss von den VDAs oder den physischen Maschinen, auf denen die Anwendung eingebunden wird, erkannt werden.

In der Praxis kombinieren viele Administratoren MSIX App Attach mit Tools wie Citrix Virtual Apps and Desktops , das MSIX Package Management, App-V und andere Technologien (wie FlexApp) ĂĽber seine Paketbereitstellungskomponente auf VDAs integriert.

Citrix

Citrix, App-V, MSIX und andere Enterprise-Packaging-Technologien

In großen Unternehmensumgebungen gibt es in der Regel nicht nur eine Art von Packaging , sondern einen Mix aus verschiedenen Technologien, die nebeneinander existieren: App-V für die klassische Anwendungsvirtualisierung, MSIX für modernes Packaging und in einigen Fällen Anwendungsschichten wie FlexApp.

Citrix Virtual Apps and Desktops bietet zwei Ansätze für App-V : Duales Management (bei dem die App-V-Server den gesamten Lebenszyklus verwalten und Citrix mit ihnen zusammenarbeitet) und einfaches Management (bei dem die App-V-Pakete auf einer Netzwerkfreigabe gespeichert werden und Citrix die Auslieferung und die dynamischen Konfigurationsdateien direkt übernimmt).

Für MSIX und MSIX Application Attachment verwendet Citrix eine Paketbereitstellungskomponente, die auf VDAs installiert ist. Diese Komponente verwaltet den Lebenszyklus von Paketen auf dem Hostrechner, unabhängig davon, ob es sich um ein natives MSIX-Paket oder ein App-Attach-Image (.vhd, .vhdx, .cim) handelt, und koordiniert die Veröffentlichung von Anwendungen in Bereitstellungsgruppen.

Pakete werden typischerweise auf UNC/SMB-Netzwerkfreigaben oder in Azure Files gespeichert., auf die VDAs mit Leseberechtigungen zugreifen. In einigen Fällen ist es notwendig, das Dienstkonto anzupassen (ctxAppVService) sodass es Benutzeranmeldeinformationen mit Berechtigungen in Azure anstelle des lokalen Computerkontos verwendet, wobei mögliche Netzwerkrichtlinien das den Zugriff blockieren kann.

Administratoren können Pakete entweder in großen Mengen oder einzeln aus Web Studio hochladen, sie Bereitstellungsgruppen zuweisen, ihre Sichtbarkeit steuern (Arbeitsbereich, Desktop oder beides) und, für App-V, Isolationsgruppen konfigurieren, die es ermöglichen, voneinander abhängige Pakete automatisch im selben virtuellen Bereich bereitzustellen.

Das Verständnis von MSIX als zentralem Bestandteil des Anwendungslebenszyklus – von der Art der Paketierung und Signierung bis hin zur Einbindung auf virtuellen Desktops und der Aktualisierung mittels differentieller Blöcke – ermöglicht die Entwicklung wesentlich robusterer, sichererer und wartungsfreundlicherer Bereitstellungen als mit klassischen Installationsprogrammen. Dabei werden die modernen Windows-Funktionen voll ausgeschöpft und die Arbeit für Entwickler und IT-Teams gleichermaßen erleichtert.

Wie man eine gesunde Netzwerkinfrastruktur in Windows aufrechterhält
Verwandte Artikel:
So erhalten Sie eine gesunde Netzwerkinfrastruktur unter Windows: Ein praktischer Leitfaden und fortgeschrittene SicherheitsmaĂźnahmen

Als bevorzugte Quelle in Google hinzufĂĽgen