Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Upgrading to Windows 10 breaks MySQL workbench?

I recently upgraded to the released version of Windows 10 using the automatic upgrade feature from Windows 8. In addition to some other stuff breaking, it seems that MySQL Workbench is now broken.

The program starts fine, but when you try to connect to a database, you are presented with a fatal error:

The type initializer for 'HtmlRenderer.Utils.FontsUtils' threw an exception.

This occurs even after a restart and seems to occur every time.

like image 784
Adam Link Avatar asked Aug 14 '15 23:08

Adam Link


1 Answers

The issue occurs due to the HTML rendered dll that is included in Workbench. Full details of the bug are here.

For a quick fix, thanks to Michael Gaillez and Frank Quintero, the offending code is in this repo: https://github.com/ArthurHub/HTML-Renderer

To fix it yourself, replace this code:

static FontsUtils()
    {
        _fontsMapping["monospace"] = "Courier New";
        _fontsMapping["Helvetica"] = "Arial";

        foreach (var family in FontFamily.Families)
        {
            _existingFontFamilies.Add(family.Name, family);
        }
    }

With this code:

static FontsUtils()
    {
        _fontsMapping["monospace"] = "Courier New";
        _fontsMapping["Helvetica"] = "Arial";

        foreach (var family in FontFamily.Families)
        {
            if (!_existingFontFamilies.ContainsKey(family.Name))
            {
                _existingFontFamilies.Add(family.Name, family);
            }
        }
    }

Or download this DLL instead: https://bugs.mysql.com/file.php?id=22868&bug_id=75673

You want to put this new DLL in your Workbench folder, which, for me, is C:\Program Files\MySQL\MySQL Workbench 6.3 CE\

like image 88
Adam Link Avatar answered Nov 08 '22 02:11

Adam Link