Visual Studio Installer Crash 2022

Silent Storm 96 Reputation points
2021-06-30T14:26:13.747+00:00

The Visual Studio installer keeps crashing with the following error being logged in dd_installer.log

Visual Studio Installer Version: 3.0.132-develop-gfaa3f5ca
Download of 'https://go.microsoft.com/fwlink/?linkid=2066144' succeeded using engine 'WebClient'
Error 0x80131940: Application failed with an uncaught exception: '.', hexadecimal value 0x00, is an invalid character. Line 1, position 1.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ThrowInvalidChar(Char[] data, Int32 length, Int32 invCharPos)
   at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at SharpVectors.Dom.Css.CssXmlDocument.Load(XmlReader reader)
   at SharpVectors.Dom.Svg.SvgDocument.Load(Stream inStream)
   at SharpVectors.Renderers.Utils.WpfSvgWindow.LoadDocument(Stream documentStream)
   at Microsoft.VisualStudio.Setup.Installer.Converters.SvgStringToDrawingConverter.ConvertTo(Object value, Object parameter, CultureInfo culture)
   at Microsoft.VisualStudio.Setup.Installer.Converters.ValueConverter`3.Convert(Object value, Type targetType, Object parameter, CultureInfo culture)
   at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange)
   at System.Windows.Data.BindingExpression.Activate(Object item)
   at System.Windows.Data.BindingExpression.AttachToContext(AttachAttempt attempt)
   at System.Windows.Data.BindingExpression.MS.Internal.Data.IDataBindEngineClient.AttachToContext(Boolean lastChance)
   at MS.Internal.Data.DataBindEngine.Task.Run(Boolean lastChance)
   at MS.Internal.Data.DataBindEngine.Run(Object arg)
   at System.Windows.ContextLayoutManager.fireLayoutUpdateEvent()
   at System.Windows.ContextLayoutManager.UpdateLayout()
   at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at Microsoft.VisualStudio.Setup.Installer.Application.MainApplication.Microsoft.VisualStudio.Setup.Installer.IApplication.Run()
   at Microsoft.VisualStudio.Setup.Installer.Program.ExecuteInternal(IServiceContainer services, ICommandLineParserResult`1 parserResult, ITelemetry telemetry, ILogger logger)
Developer technologies | Visual Studio | Setup
Developer technologies | Visual Studio | Other
0 comments No comments
{count} votes

Accepted answer
  1. Silent Storm 96 Reputation points
    2021-07-01T10:47:08.533+00:00

    I don't have those specifics folders.
    I do have C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances\d1af2def with a plan.xml consisting of 505 kb worth of null bytes.
    Removing those files, fixed the installer crashing on startup though.

    Tl;dr: Check for plan.xml / product.svg files in %ProgramData%\Microsoft\VisualStudio\Packages\_Instances subfolders that consist of null bytes and kill those if you have this problem.

    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. PengGe-MSFT 3,381 Reputation points
    2021-07-01T06:14:57.863+00:00

    Hi, @Silent Storm

    Welcome to Microsoft Q&A!

    You can rename files plan.xml and product.svg located in C:\ProgramData\Microsoft\VisualStudio\Packages_Instances\5bcf6202.
    Then launch VS Installer or run the vs_installer file (C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe) to see if it works.

    Sincerely,
    Peng
    *
    If the answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread

    1 person found this answer helpful.
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.