Поделиться через


Установка Visual Studio завершается сбоем с исключением после отображения экрана-заставки

Эта статья поможет устранить проблему сбоя установки Microsoft Visual Studio после отображения экрана-заставки.

Исходная версия продукта: Visual Studio 2012, 2013
Исходный номер базы знаний: 2978135

Итоги

Эта проблема может возникнуть из-за проблем с определенными шрифтами в системе, например недопустимыми символами в пути к шрифту или недопустимыми метками времени файла. Эти сведения можно использовать в этой статье, чтобы определить, возникает ли эта проблема и устранена проблема по мере необходимости.

Диагностика причин этого сбоя шрифтов

Для этого необходимо открыть файл журнала установки Visual Studio и найти конкретное исключение в конце журнала. Файл журнала установки можно найти в каталоге %TEMP% . Файл журнала установки Visual Studio обычно является одним из последних файлов журнала в каталоге %TEMP% . Имя файла журнала установки Visual Studio имеет следующий шаблон:
dd_EXE name>_<Time stamp>.log<

Маркер <метки> времени в шаблоне имени журнала имеет формат времени: yymmddhhmmss. Маркер <имени> EXE в шаблоне имени журнала совпадает с именем исполняемого файла установки. Имя исполняемого файла установки зависит от имени продукта Visual Studio, который вы пытались установить. Ниже приведены примеры значения в маркере <имени> Exe:

Краткое название продукта Visual Studio <Значение имени> EXE
Максимальный vs_ultimate
Premium vs_premium
Профессиональные vs_professional
Windows Express winexpress_full
Веб-экспресс vns_full
Desktop Express wdexpress_full

Как только вы найдете журнал установки Visual Studio, необходимо найти одно из следующих сообщений, которые регистрируются в конце файла журнала:

Тип исключения Сообщения
Недопустимое имя шрифта или путь [70B4:8A7C][<Метка> времени]e000: MUX: ERROR: инициализатор типов для System.Windows.Media.FontFamily вызвал исключение.

[70B4:8A7C][<Метка> времени]e000: MUX: Stack: в System.Windows.Media.Typeface.. ctor(FontFamily fontFamily, FontStyle style, FontWeight weight, FontStretch stretch)
в MS. Internal.Text.DynamicPropertyReader.GetTypeface(элемент DependencyObject)
в MS. Internal.TextProperties.InitCommon(target DependencyObject)
в MS. Internal.Text.TextProperties.. ctor(Целевой объект FrameworkElement, boolean isTypographyDefaultValue)
Недопустимая метка времени шрифта [70B4:8A7C][<Метка> времени]e000: MUX: ERROR: инициализатор типов для System.Windows.Media.FontFamily вызвал исключение.

[70B4:8A7C][<Метка> времени]e000: MUX: Stack: в System.Windows.Media.Typeface.. ctor(FontFamily fontFamily, FontStyle style, FontWeight weight, FontStretch stretch)
в MS. Internal.Text.DynamicPropertyReader.GetTypeface(элемент DependencyObject)
в MS. Internal.TextProperties.InitCommon(target DependencyObject)
в MS. Internal.Text.TextProperties.. ctor(Целевой объект FrameworkElement, boolean isTypographyDefaultValue)

Обходное решение

Чтобы обойти эту проблему, проверьте, есть ли недопустимые символы в путях шрифта, а затем проверьте наличие недопустимых меток времени файлов в шрифтах. Для этого выполните следующие шаги.

Проверка недопустимых символов в путях шрифта

  1. Найдите следующий раздел реестра с помощью редактора реестра:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
  2. Проверьте отдельные пути шрифта, чтобы узнать, есть ли недопустимые символы, например ":". Если есть недопустимые символы, исправьте их, а затем повторите настройку Visual Studio.

Проверка недопустимых меток времени файла в шрифтах

  1. Откройте командную строку и найдите %WINDIR%\Font каталог:
  2. Вывод списка шрифтов в этом каталоге DIR с помощью команды.
  3. Найдите недопустимые метки времени, например 01.02.20145 для шрифта>< Bad. TTF.
  4. Если есть недопустимые метки времени, исправьте их. Для этого выполните следующие действия.
    1. Откройте окно PowerShell с повышенными привилегиями и введите следующую команду, чтобы исправить шрифт с недопустимой меткой времени, подставив имя файла шрифта для <недопустимого шрифта>. TTF:

      (Get-Item "C:\Windows\Fonts\<Bad font>.TTF").LastWriteTime = "01/01/2014"
      
    2. Повторите шаги для всех шрифтов с помощью недопустимых меток времени, а затем повторите настройку Visual Studio.

Состояние

Корпорация Майкрософт подтвердила, что это проблема в Visual Studio 2012 и 2013.