Microsoft liefert nun Patches für .NET Core und .NET 5 über Microsoft Update

Der angekündigte Aktualisierungsmechanismus betrifft nur die .NET-Core- und .NET-Versionen, die noch im offiziellen Microsoft-Support sind.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 4 Beiträge

(Bild: Tatiana Popova/Shutterstock.com)

Von
  • Dr. Holger Schwichtenberg

Microsoft hat angekündigt, dass Aktualisierungen mit der Behebung von Fehlern und Sicherheitslücken auch für die modernen .NET-Implementierungen nun über den in das Windows-Betriebssystem integrierten Update-Mechanismus ausgeliefert werden. Für das klassische .NET Framework liefert Microsoft solche Updates schon seit Jahren automatisch aus. Bei .NET Core und dem am 10. November erschienenen Nachfolger .NET 5.0 mussten Nutzer darauf aufsetzender Software bisher selbst Aktualisierungen der Runtime manuell bei Microsoft herunterladen und installieren. Das war insbesondere ein Vertriebsnachteil für Softwarehäuser, die .NET-Core- und .NET-5.0-basierte Anwendungen an andere Unternehmen ausgeliefert haben.

Der nun angekündigte Aktualisierungsmechanismus betrifft aber nur die .NET-Core- und .NET-Versionen, die noch im offiziellen Microsoft-Support sind. Gemäß der Webseite ".NET Core and .NET 5 Support Policy" sind das nur .NET Core 2.1, .NET Core 3.1 und .NET 5.0. Für alle anderen Versionen (.NET Core 1.x, .NET Core 2.2 und .NET Core 3.0) liefert Microsoft grundsätzlich keine Aktualisierungen mehr aus. Dass aus der 2.x-Serie die Aktualisierungen für 2.1, aber nicht das neuere 2.2 kommen, liegt daran, dass die 2.1-Version eine "Long Term Support"-Version ist, das 2.2-Release aber lediglich eine "Current"-Version war, die nur noch für drei Monate nach dem Erscheinen von .NET Core 3.0 unterstützt wurde – also bis Ende Dezember 2019.

Der ab diesem Monat aktive neue Update-Mechanismus liefert nur Aktualisierungen der Versionsnummer an der dritten Stelle aus, also zum Beispiel die kommende .NET-Patch-Version 5.0.1. Es wird keine automatischen Aktualisierungen auf Versionen geben, bei denen sich die Versionsnummer an der ersten (Major) oder zweiten Stelle (Minor) geändert hat. Aktualisiert werden nicht nur die .NET (Core) Runtime, sondern auch die darauf aufbauenden Pakete .NET Desktop Runtime, ASP.NET Core Runtime und .NET (Core) SDK sowie die Integration in den Webserver Internet Information Services (IIS). Ein Neustart des Rechners kann notwendig sein, wenn zu aktualisierende Programmdateien in Verwendung sind.

Es gilt für die Aktualisierungen über Microsoft Update aber die Einschränkung, dass nur eine zentral unter C:\Program Files\dotnet\shared beziehungsweise C:\Program Files (x86)\dotnet\shared installierte Laufzeitumgebungen aktualisiert werden. Es profitieren also nur sogenannte "Portable Apps", die das Framework-Dependent Deployment verwenden. Keine automatischen Aktualisierungen gibt es hingegen beim Self-Contained Deployment einer .NET-Core- oder .NET-5.0-Anwendung. Beim Self-Contained Deployment erstellen Softwareanbieter ein Paket, das neben der eigenen Anwendung auch alle notwendigen Teile der .NET (Core) Runtime umfasst.

Ein Vorteil dieser Auslieferungsart ist, dass eine .NET-(Core-)Anwendung ohne vorherige Installation der Runtime laufen kann. Ein Nachteil ist aber, dass Softwareanbieter selbst für das Patching zuständig sind. Da solche Anwendungen aber überall auf der Festplatte oder sogar externen Medien liegen können und auch in einem Single-File-Bundle (optional mit Tree Shaking) ist eine Aktualisierung über den Update-Mechanismus von Windows nur schwer möglich.

Die Aktualisierungen der Laufzeitumgebungen für .NET Core und .NET 5.0 erfolgen laut Blogeintrag im .NET-Blog über Microsoft Update, nicht Windows Update. Microsoft Update ist aus der Nutzersicht eine Option im Rahmen von Windows Update, die sich in einer aktuellen Windows-10-Version unter Settings | Windows Update | Advanced Options | Receive updates for other Microsoft products when you update Windows verbirgt.

Aktivierung von "Microsoft Update" im Rahmen von "Windows Update" in Windows 10 Version 20H2

Nutzer müssen diese Funktion aktivieren, um die Aktualisierungen für .NET Core 2.1/3.1 und .NET 5.0 automatisch zu erhalten. Für die Updates des klassischen .NET Framework war dieses Häkchen nicht notwendig, denn dieses gilt als ein Teil des Windows-Betriebssystems, auch wenn sie manuell installiert wurden. .NET Core und .NET 5.0 haben hingegen den Status eines "Zusatzprodukts".

Nutzer, die Microsoft Update aktiviert haben, können durch Registry-Einträge die Aktualisierungen von .NET Core und .NET 5.0 blockieren.

Über die fehlenden automatischen Updates gab es just am gestrigen Abend auf der von heise Developer und dpunkt.verlag ausgerichteten Online-Konferenz betterCode() .NET 5.0 eine lebhafte Diskussion mit Immo Landwerth, Programm Manager aus dem .NET-Entwicklungsteam in Redmond. Ergebnis der Diskussion war, dass Landwerth das Feedback mitnehmen wollte, dass sich viele deutsche .NET-Entwickler eine solche Update-Funktion wünschen. Er machte jedoch keine Andeutung, dass diese Funktion bereits realisiert ist und wenige Stunden später angekündigt werden wird.

(ane)