次の方法で共有


スプラッシュ画面が表示された後、Visual Studio のセットアップが例外でクラッシュする

この記事は、スプラッシュ画面が表示された後の Microsoft Visual Studio セットアップのクラッシュの問題を解決するのに役立ちます。

元の製品バージョン: Visual Studio 2012、2013
元の KB 番号: 2978135

まとめ

この問題は、フォント パスの無効な文字や無効なファイル タイムスタンプなど、システム上の特定のフォントに問題があるために発生する可能性があります。 この記事のこの情報を使用して、この問題が発生しているかどうかを判断し、必要に応じて問題を解決できます。

フォントがこのクラッシュの原因になっているかどうかを診断する

これを行うには、Visual Studio セットアップ ログ ファイルを開き、ログの末尾付近で特定の例外を探す必要があります。 セットアップ ログ ファイルは、 %TEMP% ディレクトリにあります。 Visual Studio セットアップ ログ ファイルは、通常、 %TEMP% ディレクトリ内の最新のログ ファイルの 1 つです。 Visual Studio セットアップ ログ ファイルの名前には、次のパターンがあります。
dd_<EXE name>_<Time stamp>.log

ログ名パターンの <Time スタンプ> トークンの時刻形式は yyyymmddhhmmss です。 ログ名パターンの <EXE 名> トークンは、セットアップ実行可能ファイルと同じ名前です。 セットアップ実行可能ファイルの名前は、インストールしようとした Visual Studio 製品の名前によって異なります。 <Exe 名> トークンの値の例を次に示します。

Visual Studio の製品の短い名前 <EXE 名> 値
Ultimate vs_ultimate
Premium vs_premium
Professional vs_professional
Windows Express winexpress_full
Web Express vns_full
Desktop Express wdexpress_full

Visual Studio セットアップ ログが見つかるとすぐに、ログ ファイルの末尾近くに記録されている次のいずれかのメッセージを探す必要があります。

例外の種類 メッセージ
フォント名またはパスが無効です [70B4:8A7C][<Time スタンプ>]e000: MUX: ERROR: 'System.Windows.Media.FontFamily' の型初期化子が例外をスローしました。

[70B4:8A7C][<Time スタンプ>]e000: MUX: Stack: at System.Windows.Media.Typeface..ctor(FontFamily fontFamily, FontStyle style, FontWeight weight, FontStretch stretch)
MS で。Internal.Text.DynamicPropertyReader.GetTypeface(DependencyObject 要素)
MS で。Internal.Text.TextProperties.InitCommon(DependencyObject ターゲット)
MS で。Internal.Text.TextProperties..ctor(FrameworkElement target, Boolean isTypographyDefaultValue)
フォントのタイム スタンプが無効です [70B4:8A7C][<Time スタンプ>]e000: MUX: ERROR: 'System.Windows.Media.FontFamily' の型初期化子が例外をスローしました。

[70B4:8A7C][<Time スタンプ>]e000: MUX: Stack: at System.Windows.Media.Typeface..ctor(FontFamily fontFamily, FontStyle style, FontWeight weight, FontStretch stretch)
MS で。Internal.Text.DynamicPropertyReader.GetTypeface(DependencyObject 要素)
MS で。Internal.Text.TextProperties.InitCommon(DependencyObject ターゲット)
MS で。Internal.Text.TextProperties..ctor(FrameworkElement target, 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 font> を探します。TTF。
  4. 無効なタイムスタンプがある場合は、修正してください。 これを行うには、次の手順に従います。
    1. 管理者特権の PowerShell ウィンドウを開き、次のコマンドを入力して、フォントを無効なタイム スタンプで修正し、フォント ファイル名を <Bad フォントに置き換えます>。TTF:

      (Get-Item "C:\Windows\Fonts\<Bad font>.TTF").LastWriteTime = "01/01/2014"
      
    2. 無効なタイムスタンプを使用して、すべてのフォントの手順を繰り返し、Visual Studio のセットアップを再試行します。

状態

Microsoft は、これが Visual Studio 2012 および 2013 の問題であることを確認しました。