notofonts / noto-cjk

Noto CJK fonts
http://www.google.com/get/noto/help/cjk
3.03k stars 220 forks source link

Noto Sans CJK Super OTF crashes Visual Studio 2015's installer under Windows 1709 #115

Closed ghost closed 5 years ago

ghost commented 6 years ago

As we know, Windows 1703+ supports Super OTF fonts. After installing Noto Sans CJK Super OTF, Windows creates a registry item under

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts

with name

Noto Sans CJK JP Thin & Noto Sans CJK KR Thin & Noto Sans CJK SC Thin & Noto Sans CJK TC Thin & Noto Sans CJK JP Light & Noto Sans CJK KR Light & Noto Sans CJK SC Light & Noto Sans CJK TC Light & Noto Sans CJK JP DemiLight & Noto Sans CJK KR DemiLight & Noto

and value of

NotoSansCJK_0.ttc

(may vary on other systems)

Due to the name's being too long, when Visual Studio 2015's installer scans

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts

on start and encounters with Noto CJK's item, a buffer overflow error is generated, preventing it from running properly.

2

1 [06A4:2E48][2017-12-17T14:12:36]e000: MUX: ERROR: “System.Windows.Media.FontFamily”的类型初始值设定项引发异常。 [06A4:2E48][2017-12-17T14:12:36]e000: MUX: Stack: 在 System.Windows.Media.Typeface..ctor(FontFamily fontFamily, FontStyle style, FontWeight weight, FontStretch stretch) 在 MS.Internal.Text.DynamicPropertyReader.GetTypeface(DependencyObject element) 在 MS.Internal.Text.TextProperties.InitCommon(DependencyObject target) 在 MS.Internal.Text.TextProperties..ctor(FrameworkElement target, Boolean isTypographyDefaultValue)

Log file: dd_vs_isoshell_20171217141233.log

Reference: https://support.microsoft.com/en-us/help/2978135/visual-studio-setup-crashes-with-an-exception-after-the-splash-screen

kenlunde commented 6 years ago

Your first order of business, in terms of executing proper testing procedure, is to try the latest version, meaning Microsoft Visual Studio 2017, which was released on 2017-03-17, almost a month before the version of Windows 10 that fixed the issue with installing the Super OTCs was released. If the presence of one or more of the Super OTCs still causes VS to crash, please report back.

ghost commented 6 years ago

This setup bootstrapper is shipped with various MS products depending on VS 2015 Isolated Shell, such as SQL Server Management Studio. This bug makes it unable to be fully removed or repaired. However, I'd admit that this bug do fit a VS bug better, and VS 2017 Installer do don't have this issue.

kenlunde commented 6 years ago

Thank you for confirming that the latest version of VS fixes this issue.

davelab6 commented 5 years ago

Closing since this is a problem with VS 2015