显示初始屏幕后 Visual Studio 安装程序会因出现异常而发生故障

本文将帮助您在显示初始屏幕后解决 Microsoft Visual Studio 安装程序崩溃问题。

原始产品版本:  Visual Studio 2012,2013
原始 KB 数:  2978135

总结

出现此问题的原因可能是系统上的某些字体存在问题,如字体路径中的无效字符或无效的文件时间戳。 您可以在本文中使用此信息来确定是否遇到此问题并根据需要解决问题。

诊断字体是否导致此故障

若要执行此操作,您必须打开 Visual Studio 安装程序日志文件,并查找日志末尾附近的特定异常。 您可以在目录中找到安装程序日志文件 %TEMP% 。 Visual Studio 安装程序日志文件通常是目录中最新的日志文件之一 %TEMP% 。 Visual Studio 安装程序日志文件的名称具有以下模式:
dd_<EXE 名称>_<时间戳> .log

日志名称模式中 <时间戳> 令牌的时间格式为:分秒。 日志名称模式中的 <EXE 名称> 令牌与安装程序可执行文件的名称相同。 安装程序可执行文件的名称因您尝试安装的 Visual Studio 产品的名称而异。 以下是 <Exe 名称> 令牌中的值的示例:

Visual Studio 产品短名称 <EXE name>增值
极致 vs_ultimate
高级 vs_premium
专业 vs_professional
Windows Express winexpress_full
Web Express vns_full
桌面 Express wdexpress_full

在找到 Visual Studio 安装程序日志之后,您必须在日志文件的结尾处查找以下记录的消息之一:

异常类型 邮件
字体名称或路径无效 [70B4:8A7C][<时间戳>] E000: MUX:错误: "FontFamily" 的类型初始值设定项引发了异常。

[70B4:8A7C][<时间戳>] E000: MUX: Stack:在 system.web:ctor (FontFamily fontFamily,FontStyle style,FontWeight 权重,FontStretch stretch)
毫秒。GetTypeface (DependencyObject 元素)(DynamicPropertyReader)
在 MS.Internal.Text.TextProperties.InitCommon (DependencyObject 目标)
毫秒。TextProperties。ctor (FrameworkElement 目标,布尔值 isTypographyDefaultValue)
字体时间戳无效 [70B4:8A7C][<时间戳>] E000: MUX:错误: "FontFamily" 的类型初始值设定项引发了异常。

[70B4:8A7C][<时间戳>] E000: MUX: Stack:在 system.web:ctor (FontFamily fontFamily,FontStyle style,FontWeight 权重,FontStretch stretch)
毫秒。GetTypeface (DependencyObject 元素)(DynamicPropertyReader)
在 MS.Internal.Text.TextProperties.InitCommon (DependencyObject 目标)
毫秒。TextProperties。ctor (FrameworkElement 目标,布尔值 isTypographyDefaultValue)

解决方法

若要解决此问题,请检查字体路径中是否存在无效字符,然后检查字体中是否存在无效的文件时间戳。 要实现这一点,请执行下列步骤:

检查字体路径中的无效字符

  1. 使用注册表编辑器查找以下注册表项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
  2. 检查各个字体路径,以查看是否存在任何无效字符,如 ":"。 如果有无效字符,请更正它们,然后重试 Visual Studio 安装程序。

检查字体中的无效文件时间戳

  1. 打开命令提示符,然后找到该 %WINDIR%\Font 目录:
  2. 使用命令列出此目录中的字体 DIR
  3. 查找任何无效的时间戳,如01/02/20145字体 <错误的字体>。TTF.
  4. 如果有无效的时间戳,请对其进行更正。 要实现这一点,请执行下列步骤:
    1. 打开提升的 PowerShell 窗口,然后输入以下命令,以使用无效的时间戳来修复字体,请将字体文件名替换为 <错误的字体>。TTF

      (Get-Item "C:\Windows\Fonts\<Bad font>.TTF").LastWriteTime = "01/01/2014"
      
    2. 使用无效的时间戳重复所有字体的步骤,然后重试 Visual Studio 安装程序。

状态

Microsoft 已确认这在 Visual Studio 2012 和2013中存在问题。