One of my customers reported that their sccm console crashed while they were creating Microsoft edge application: Nothing happens after Create Microsoft Edge is clicked and the console crashes after a few seconds.
SMSAdminUI.log has the following –
[1, PID:1812][11/26/2020 13:51:43] :System.AggregateException: One or more errors occurred. ---> System.Runtime.Serialization.SerializationException: There was an error deserializing the object of type System.Collections.Generic.List`1[[Microsoft.ConfigurationManagement.AdminConsole.EdgeInstallWizard.EdgeJsonObject, AdminUI.EdgeInstallWizard, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]. Encountered unexpected character '<'. ---> System.Xml.XmlException: Encountered unexpected character '<'.at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, XmlException exception)at System.Runtime.Serialization.Json.XmlJsonReader.ReadAttributes()at System.Runtime.Serialization.Json.XmlJsonReader.ReadNonExistentElementName(StringHandleConstStringType elementName)at System.Runtime.Serialization.Json.XmlJsonReader.Read()at System.Xml.XmlBaseReader.IsStartElement()at System.Xml.XmlBaseReader.IsStartElement(XmlDictionaryString localName, XmlDictionaryString namespaceUri)at System.Runtime.Serialization.XmlReaderDelegator.IsStartElement(XmlDictionaryString localname, XmlDictionaryString ns)at System.Runtime.Serialization.XmlObjectSerializer.IsRootElement(XmlReaderDelegator reader, DataContract contract, XmlDictionaryString name, XmlDictionaryString ns)at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalIsStartObject(XmlReaderDelegator reader)at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName)at System.Runtime.Serialization.XmlObjectSerializer.InternalReadObject(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)--- End of inner exception stack trace ---at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)at System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(XmlDictionaryReader reader)at System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(Stream stream)at Microsoft.ConfigurationManagement.AdminConsole.EdgeInstallWizard.EdgeResponseDeserializer.Deserialize[T](String jsonResponse)at Microsoft.ConfigurationManagement.AdminConsole.EdgeInstallWizard.EdgeClient.<GetProductJson>d__7.MoveNext()--- End of stack trace from previous location where exception was thrown ---at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)at Microsoft.ConfigurationManagement.AdminConsole.EdgeInstallWizard.EdgeClient.<GetProductJson>d__6.MoveNext()--- End of inner exception stack trace ---at System.AggregateException.Handle(Func`2 predicate)at Microsoft.ConfigurationManagement.AdminConsole.EdgeInstallWizard.ApplicationSettingsPageControl.CreateErrorDialog(AggregateException ex)at Microsoft.ConfigurationManagement.AdminConsole.EdgeInstallWizard.ApplicationSettingsPageControl.GetJson()at Microsoft.ConfigurationManagement.AdminConsole.EdgeInstallWizard.ApplicationSettingsPageControl.InitializePageControl()at Microsoft.ConfigurationManagement.AdminConsole.SmsWizardPage.Initialize()at Microsoft.ConfigurationManagement.AdminConsole.SmsWizardPage.OnActivate()at Microsoft.ConfigurationManagement.AdminConsole.WizardFramework.WizardPage.Activate()at Microsoft.ConfigurationManagement.AdminConsole.WizardFramework.WizardForm.OnCreateControl()at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)at System.Windows.Forms.Control.CreateControl()at System.Windows.Forms.Control.WmShowWindow(Message& m)
Before I was planning to get a dump to analyse why that happened, I came across the official explanation from Deploy and update Microsoft Edge, version 77 and later – Configuration Manager | Microsoft Docs –
The device running the Configuration Manager console needs access to the following endpoints for deploying Microsoft Edge:
Location | Use |
---|---|
https://aka.ms/cmedgeapi | Information about releases of Microsoft Edge |
https://edgeupdates.microsoft.com/api/products?view=enterprise | Information about releases of Microsoft Edge |
http://dl.delivery.mp.microsoft.com | Content for Microsoft Edge releases |
Having verified this is true in my lab. Then I asked the customer if his sccm console could connect to the internet and he said no. So, I asked him to grant internet access to the computer where sccm console is located. He got back to me shortly with the news that the issue was gone after he gave internet access to the computer with sccm console intalled.
So, you know how to fix the issue now? The solution is quite simple:
Give the client where sccm is installed the access to the listed internet locations.