How can I fix Visual Studio 2015 Enterprise Edition to install and work correctly?
During the installation, it had an issue installing Java SE. It was optional so I didn't think anything of it. I restarted my computer. Now whenever I try to open Visual Studio 2015, reinstall or uninstall, I see the logo briefly then it disappears.
I dug into the event viewer to find a message from Windows Error Reporting that points to a log in the following folder.
C:\users\{me}\AppData\Local\Temp\dd_vs_enterprise_20150720190843
It seems as though it's having difficulty creating the view. I have copied a portion of the log below.
[261C:12FC][2015-07-20T19:08:52]i000: MUX: Detect Completed
[261C:12FC][2015-07-20T19:08:52]i000: MUX: Wait for View to be loaded
[261C:1860][2015-07-20T19:08:52]i000: MUX: Detect Completed, now create view
[261C:1860][2015-07-20T19:08:52]e000: MUX: ERROR: The type initializer for 'System.Windows.Media.FontFamily' threw an exception.
[261C:1860][2015-07-20T19:08:52]e000: MUX: Stack: at System.Windows.Media.Typeface..ctor(FontFamily fontFamily, FontStyle style, FontWeight weight, FontStretch stretch)
at MS.Internal.Text.DynamicPropertyReader.GetTypeface(DependencyObject element)
at MS.Internal.Text.TextProperties.InitCommon(DependencyObject target)
at MS.Internal.Text.TextProperties..ctor(FrameworkElement target, Boolean isTypographyDefaultValue)
at System.Windows.Controls.TextBlock.GetLineProperties()
at System.Windows.Controls.TextBlock.EnsureTextBlockCache()
at System.Windows.Controls.TextBlock.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.StackPanel.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Decorator.MeasureOverride(Size constraint)
at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Window.MeasureOverrideHelper(Size constraint)
at System.Windows.Window.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Interop.HwndSource.SetLayoutSize()
at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)
at System.Windows.Interop.HwndSource.set_RootVisual(Visual value)
at System.Windows.Window.SetRootVisual()
at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight)
at System.Windows.Window.CreateSourceWindowImpl()
at System.Windows.Window.SafeCreateWindow()
at System.Windows.Window.ShowHelper(Object booleanBox)
at System.Windows.Window.Show()
at Microsoft.Devdiv.Bootstrapper.ManagedUx.RunUI(ViewModelCommonUi viewModel)
at Microsoft.Devdiv.Bootstrapper.ManagedUx.InternalRun()
at Microsoft.Devdiv.Bootstrapper.ManagedUx.Run()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
[261C:1860][2015-07-20T19:08:52]e000: MUX: Exception: Info: InnerException: Info:
[261C:1860][2015-07-20T19:08:52]e000: MUX: ERROR: The type initializer for 'MS.Internal.FontCache.Util' threw an exception.
[261C:1860][2015-07-20T19:08:52]e000: MUX: Stack: at System.Windows.Media.FontFamily.PreCreateDefaultFamilyCollection()
at System.Windows.Media.FontFamily..cctor()
[261C:1860][2015-07-20T19:08:52]i000: MUX: Metrics: ShouldSendData=True
[261C:1860][2015-07-20T19:08:52]i000: MUX: Permission to upload: Yes
[261C:1860][2015-07-20T19:08:52]i000: MUX: Preparing to serialize data.
[261C:1860][2015-07-20T19:08:52]i000: MUX: Data serialized.
[261C:1860][2015-07-20T19:08:52]i000: MUX: Number of SQM File queued: 1
[261C:1860][2015-07-20T19:09:14]i000: MUX: SQM sent: True
[261C:1860][2015-07-20T19:09:14]i000: Setting string variable 'CEIPConsent' to value ''
[261C:1860][2015-07-20T19:09:14]i000: Setting string variable 'SqmOption' to value ''
[261C:1860][2015-07-20T19:09:14]i000: MUX: Metrics: Configuration State
After quite a bit of research, I found two issues that were causing my installation and repair issues.
Font Oddity in the Registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontCache
MTEXTRA.TFF
PATH longer than 2048 characters
After completing both of these steps, I was able to repair from Programs and Features
in the control panel and have a working installation.