The Actipro Blog

All the latest UI control development news from Actipro

Windows 7 Exception in WPF Fonts.SystemFontFamilies After Installing KB4055532

The Microsoft .NET Framework January 2018 Security and Quality Rollup that was released on January 9, 2018 contains a big mistake that causes any calls to Fonts.SystemFontFamilies to immediately throw an exception. 

This affects some of our UI control products, many other third party apps, and possibly your own code as well since that API is a commonly-used .NET property.

The problem doesn't seem to occur on Windows 10, but does occur on Windows 7 systems that have installed the rollup.

Symptoms

The exception message that appears is something like:

No FontFamily element found in FontFamilyCollection that matches current OS or greater: Windows7SP1

With stack trace:

at System.Windows.Media.Fonts.get_SystemFontFamilies()

Workaround

The only workaround at the moment until it is fixed by Microsoft appears to be to uninstall the KB4055532 rollup on Windows 7 machines.

We expect this to be resolved by Microsoft quickly since posts about it are popping up all over the Internet:

Update:  Official thread from Microsoft acknowledging it and providing a temporary workaround (thanks St├ęphane):

Update 2:  Microsoft appears to have released an updated patch that should resolve the fonts issue.

Tags:
Filed under: WPF

WPF, UWP, and Silverlight v2017.2 Maintenance Releases

BlogPostBanner-2017.2-Maint

Our v2017.2 WPF, Universal Windows, and Silverlight controls have all been updated with new maintenance releases that are now ready for download.  It is highly recommended that you get these new builds since many products received numerous minor enhancements and bug fixes. 

Let's take a quick look at some of the more notable features that were added.

Charts

Display Optimizations

The line charts have had optimizations in them to try and align to pixel values to reduce anti-aliasing.  While this generally improved readability, when rendering a curve like a sine wave, this can result in some jaggedness of the curve.  We added an option that allows these display optimizations to be turned off for those scenarios.

Docking/MDI

Dock Host Changed Event

A new event is raised whenever a docking window's dock host changes, allowing for knowing when a docking window transitions to a floating state and back.

Dragging Enhancements

The dragging experience for a single tab has been improved.  When dragging a docking window over a nested linked dock site, the Shift key can be used to target the outer dock host.

Interop Improvements

Numerous improvements were made to how InteropFocusTracking handles mouse clicks and focus tracking for interop controls in docking windows.

Dock Guides

Dock guides (when in non-hosted node) can now render outside of the bounds of the target dock host when necessary.  This scenario can occur if the containers in the dock host are small.

Editors

MaskedTextBox Data Binding

A new MatchedText property has been added to MaskedTextBox to allow data binding without any prompt text.

Pointer Double-Clicks

Double-clicking an edit box part now selects the entire part's text.

Color Picker Alpha Component

The ColorPicker's alpha component has been changed to be percentage-based, which is more in line with most applications.

Grids

Key Handling

The ability to customize how Enter keys are handled for various property editor types has been added.

SyntaxEditor

Read-Only Regions

Read-only regions have been enhanced with properties that determine if editing is allowed on their first and/or last edges.

Code Outlining

The code outlining logic has been Improved to better handle mismatched outlining nodes.

JSON Parser

The JSON parser in the Web Languages Add-on has been enhanced with better error handling.

Theme Browser

We've updated the Theme Browser utility in the Sample Browser with a new textbox that allows filtering of resources.

Summary

There were also a large number of smaller improvements made throughout the products.  See the announcement posts for the detailed list of enhancements and updates:

TaskDownload TaskBuyNow