When I tried to upgrade my DNN environment from version 7.1.2 to version 7.2.0, the “Upgrade Status Report” always output the following error in step 5:
Updating config Files: 07.02.00 Error!
The error was also logged in the installer’s log file:
01/13/2014 13:48:25 [INFO] DotNetNuke.Services.Upgrade.Upgrade Start UpdateConfig:7.2.0
01/13/2014 13:48:25 [ERROR] DotNetNuke.Services.Upgrade.Upgrade Error: The node to be removed is not a child of this node. at System.Xml.XmlNode.RemoveChild(XmlNode oldChild)
at DotNetNuke.Services.Installer.XmlMerge.UpdateNode(XmlNode rootNode, XmlNode actionNode)
at DotNetNuke.Services.Installer.XmlMerge.ProcessNode(XmlNode node, XmlNode targetRoot)
at DotNetNuke.Services.Installer.XmlMerge.ProcessNodes(XmlNodeList nodes, Boolean saveConfig)
at DotNetNuke.Services.Installer.XmlMerge.UpdateConfigs()
at DotNetNuke.Services.Upgrade.Upgrade.UpdateConfig(String providerPath, String configFile, Version version, String reason)
01/13/2014 13:48:25 [ERROR] DotNetNuke.Services.Upgrade.Upgrade Error: The node to be removed is not a child of this node. at System.Xml.XmlNode.RemoveChild(XmlNode oldChild)
at DotNetNuke.Services.Installer.XmlMerge.UpdateNode(XmlNode rootNode, XmlNode actionNode)
at DotNetNuke.Services.Installer.XmlMerge.ProcessNode(XmlNode node, XmlNode targetRoot)
at DotNetNuke.Services.Installer.XmlMerge.ProcessNodes(XmlNodeList nodes, Boolean saveConfig)
at DotNetNuke.Services.Installer.XmlMerge.UpdateConfigs()
at DotNetNuke.Services.Upgrade.Upgrade.UpdateConfig(String providerPath, String configFile, Version version, String reason)
After some try and error and digging into the DNN upgrade package I found the file Install\Config\07.02.00.config with the following content:
As far as I understand the DNN upgrade process this file tries to update an assembly binding and this caused the error, because my Web.Config file contained two different <assemblyBinding> nodes which is syntactically correct but seems to break the upgrade process. In detail the <assemblyBinding> sections looks as follows:
[...]
After merging both <assemblyBinding> nodes into one I was able to upgrade my DotNetNuke environment from version 7.1.2 to 7.2.0.