Zum Januar Patchday von Microsoft wurde unter anderem ein Sicherheits und Qualitätsupdate (KB4055532) für die .NET Laufzeitumgebung Version 3.5.1, 4.5.2, 4.6, 4.7, 4.7.1 veröffentlicht.
Nach Installation des Patches auf Windows 7 mit .NET 4.7.1 kommt es zu Programmabstürzen bei Anwendungen die das Windows PresentationFramework (WPF) verwenden und mit unterschiedlichen Font-Familien arbeiten.
Ein Programm wirft je nach Fehlerbehandlung innerhalb des Programms beim laden der Liste von im System (für das aktuell laufende OS) verfügbaren Font-Familien einen solchen oder ähnlichen Fehler - oder stürzt sofort ab:
[src=ini]
System.TypeInitializationException: The type initializer for ‘System.Windows.Media.Fonts’ threw an exception. —> System.IO.FileFormatException: No FontFamily element found in FontFamilyCollection that matches current OS or greater: Windows7SP1 —> System.IO.FileFormatException: No FontFamily element found in FontFamilyCollection that matches current OS or greater: Windows7SP1
at MS.Internal.FontFace.CompositeFontParser.Fail(String message, Exception innerException)
at MS.Internal.FontFace.CompositeFontParser.ParseFontFamilyCollectionElement()
at MS.Internal.FontFace.CompositeFontParser..ctor(Stream fileStream)
— End of inner exception stack trace —
at MS.Internal.FontFace.CompositeFontParser.Fail(String message, Exception innerException)
at MS.Internal.FontFace.CompositeFontParser..ctor(Stream fileStream)
at MS.Internal.FontCache.FamilyCollection.SystemCompositeFonts.GetCompositeFontFamilyAtIndex(Int32 index)
at MS.Internal.FontCache.FamilyCollection.GetFontFamilies(Uri fontFamilyBaseUri, String fontFamilyLocationReference)
at System.Windows.Media.Fonts.CreateFamilyCollection(Uri fontLocation, Uri fontFamilyBaseUri, String fontFamilyLocationReference)
at System.Windows.Media.Fonts..cctor()
[/src]
Das Problem liegt an den *.CompsiteFont Dateien unter
Die Dateien wurden durch obigen Patch durch "neue" Dateien ersetzt die keine Informationen über Windows7sp1 enthalten.
Das Problem kann gelöst werden indem die Dateien einfach durch ältere ersetzt werden. Ein Neustart ist nicht notwendig.
Ein funktionierendes Set an CompositeFont Dateien hängt diesem Beitrag an.
Ob das Problem ebenfalls beim Security-Only Patch auftritt wird noch validiert und nachgereicht.
Update: das Security-Only Update KB 4054183 ist nicht betroffen und sollte installiert werden.
Inzwischen gibt es auch einen Support-Artikel bei Microsoft: klick
Nach Installation des Patches auf Windows 7 mit .NET 4.7.1 kommt es zu Programmabstürzen bei Anwendungen die das Windows PresentationFramework (WPF) verwenden und mit unterschiedlichen Font-Familien arbeiten.
Ein Programm wirft je nach Fehlerbehandlung innerhalb des Programms beim laden der Liste von im System (für das aktuell laufende OS) verfügbaren Font-Familien einen solchen oder ähnlichen Fehler - oder stürzt sofort ab:
[src=ini]
System.TypeInitializationException: The type initializer for ‘System.Windows.Media.Fonts’ threw an exception. —> System.IO.FileFormatException: No FontFamily element found in FontFamilyCollection that matches current OS or greater: Windows7SP1 —> System.IO.FileFormatException: No FontFamily element found in FontFamilyCollection that matches current OS or greater: Windows7SP1
at MS.Internal.FontFace.CompositeFontParser.Fail(String message, Exception innerException)
at MS.Internal.FontFace.CompositeFontParser.ParseFontFamilyCollectionElement()
at MS.Internal.FontFace.CompositeFontParser..ctor(Stream fileStream)
— End of inner exception stack trace —
at MS.Internal.FontFace.CompositeFontParser.Fail(String message, Exception innerException)
at MS.Internal.FontFace.CompositeFontParser..ctor(Stream fileStream)
at MS.Internal.FontCache.FamilyCollection.SystemCompositeFonts.GetCompositeFontFamilyAtIndex(Int32 index)
at MS.Internal.FontCache.FamilyCollection.GetFontFamilies(Uri fontFamilyBaseUri, String fontFamilyLocationReference)
at System.Windows.Media.Fonts.CreateFamilyCollection(Uri fontLocation, Uri fontFamilyBaseUri, String fontFamilyLocationReference)
at System.Windows.Media.Fonts..cctor()
[/src]
Das Problem liegt an den *.CompsiteFont Dateien unter
- c:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\Fonts
- c:\Windows\Microsoft.NET\Framework64\v4.0.30319\WPF\Fonts
Die Dateien wurden durch obigen Patch durch "neue" Dateien ersetzt die keine Informationen über Windows7sp1 enthalten.
Das Problem kann gelöst werden indem die Dateien einfach durch ältere ersetzt werden. Ein Neustart ist nicht notwendig.
Ein funktionierendes Set an CompositeFont Dateien hängt diesem Beitrag an.
Ob das Problem ebenfalls beim Security-Only Patch auftritt wird noch validiert und nachgereicht.
Update: das Security-Only Update KB 4054183 ist nicht betroffen und sollte installiert werden.
Inzwischen gibt es auch einen Support-Artikel bei Microsoft: klick
Anhänge
Zuletzt bearbeitet: