You are currently offline, waiting for your internet to reconnect

Reinstallation of SCVMM 2012 R2 fails and returns a "deserializing the object of type Microsoft.VirtualManager.Utils.ErrorInfo" error

Symptoms
Consider the following scenario:

  • You have a Microsoft System Center 2012 R2 Virtual Machine Manager (SCVMM 2012 R2) environment.
  • One or more Library servers use a Storage Area Network (SAN). This is true also for a Library servers that is a virtual machine (VM) that uses  Virtual Fibre Channel (vFC).
  • You apply Update Rollup 6 (UR6) or a later version for SCVMM 2012 R2.
  • You try to reinstall SCVMM 2012 R2 or add a cluster node that attaches to an existing database. For example, you might do this as a disaster recovery procedure.
In this scenario, the installation fails and you receive the following error message:

12:36:22:VMMPostinstallProcessor threw an exception: Threw Exception.Type: System.Runtime.Serialization.SerializationException, Exception.Message: There was an error deserializing the object of type Microsoft.VirtualManager.Utils.ErrorInfo. End element 'code' from namespace 'http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils' expected. Found element 'EnumValueName' from namespace 'http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils'.
12:36:22:StackTrace: at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
at System.Runtime.Serialization.XmlObjectSerializer.ReadObject(XmlDictionaryReader reader)
at Microsoft.VirtualManager.Utils.SerializationHelper.DeserializeDataContract[T](Byte[] dataBytes)
at Microsoft.VirtualManager.DB.Adhc.LibraryServer..ctor(SqlRow row)
at Microsoft.VirtualManager.Setup.VirtualMachineManagerHelpers.AddLibrary()
at Microsoft.VirtualManager.Setup.InstallItemCustomDelegates.PangaeaServerPostinstallProcessor()
12:36:22:InnerException.Type: System.Xml.XmlException, InnerException.Message: End element 'code' from namespace 'http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils' expected. Found element 'EnumValueName' from namespace 'http://schemas.datacontract.org/2004/07/Microsoft.VirtualManager.Utils'.
12:36:22:InnerException.StackTrace: at System.Xml.XmlExceptionHelper.ThrowXmlException(XmlDictionaryReader reader, String res, String arg1, String arg2, String arg3)
at System.Xml.XmlBaseReader.ReadEndElement()
at System.Xml.XmlBaseReader.ReadElementContentAsString()
at System.Xml.XmlBinaryReader.ReadElementContentAsString()
at System.Runtime.Serialization.EnumDataContract.ReadEnumValue(XmlReaderDelegator reader)
at System.Runtime.Serialization.EnumDataContract.ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context)
at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract)
at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader, Int32 id, RuntimeTypeHandle declaredTypeHandle, String name, String ns)
at ReadErrorInfoFromXml(XmlReaderDelegator , XmlObjectSerializerReadContext , XmlDictionaryString[] , XmlDictionaryString[] )
at System.Runtime.Serialization.ClassDataContract.ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context)
at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract)
at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns)
at System.Runtime.Serialization.DataContractSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
12:36:22:ProcessInstalls: Running the PostProcessDelegate returned false.
12:36:22:ProcessInstalls: Running the PostProcessDelegate for PangaeaServer failed.... This is a fatal item. Setting rollback.
Cause
This problem occurs when you perform an installation against a database that has had its schema changed by Update Rollup 6 or a later version for SCVMM 2012 R2. The problem occurs because VMM 2012 R2 UR6 contains the EnumValueName element. This is an additional element that was not included in the VMM 2012 R2 initial release code.
Workaround
To work around this problem, temporarily reset the FibreChannelSANStatus, iscsisanstatus, and NPIVFibreChannelSANStatus values for all your library servers to null. To do this, follow these steps:

  1. Make a full backup of the VMM database.
  2. Run the following script against the VMM database. In this script, substitute the actual name of the library server for the <libraryserver.contoso.com> placeholder.

    Note If you have more than one library server, rerun this script for each server.
    update dbo.tbl_ADHC_Library setFibreChannelSANStatus=null,iscsisanstatus=null,NPIVFibreChannelSANStatus=nullwhere computername ='libraryserver.contoso.com'
  3. After the changes are applied, rerun Setup.

    Note If you deploy a highly available (clustered) VMM installation, repeat this step on every node before you go to step 4.
  4. After Setup is completed, install the latest update rollup. 

    Note When you install the update rollup, the values that were deleted by the script are updated.
Status
Microsoft is researching this problem and will post more information in this article when the information becomes available.
Properties

Article ID: 3072393 - Last Review: 09/16/2016 18:50:00 - Revision: 3.0

Microsoft System Center 2012 Virtual Machine Manager, Microsoft System Center 2012 R2 Virtual Machine Manager

  • KB3072393
Feedback