Skip to content

[Bug]: Manifest has partial support for empty XML elements. #7301

Description

@dimarobert

Is there an existing issue for this?

  • I have searched the existing issues

What happened?

The manifest reading logic supports having a self-closing <element/> (e.g. <supportedFeatures/>) but not an empty <supportedFeatures></supportedFeatures> element. With the former, the installation throws the following error:

2026-05-29 14:19:00.512+03:00 [workstation][D:3][T:23][ERROR] DotNetNuke.Services.Install.InstallWizard - WIZARD ERROR:System.Xml.XmlException: There are multiple root elements. Line 25, position 2.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at DotNetNuke.Entities.Modules.DesktopModuleInfo.ReadXml(XmlReader reader)
   at DotNetNuke.Common.Utilities.CBO.DeserializeObject[TObject](XmlReader reader)
   at DotNetNuke.Services.Installer.Installers.ModuleInstaller.ReadManifest(XPathNavigator manifestNav)
   at DotNetNuke.Services.Installer.Installers.InstallerFactory.GetInstaller(XPathNavigator manifestNav, PackageInfo package)
   at DotNetNuke.Services.Installer.Installers.PackageInstaller.ReadComponents(XPathNavigator manifestNav)
   at DotNetNuke.Services.Installer.Installers.PackageInstaller.ReadManifest(XPathNavigator manifestNav)
   at DotNetNuke.Services.Installer.Installers.PackageInstaller..ctor(String packageManifest, InstallerInfo info)
   at DotNetNuke.Services.Installer.Installer.ProcessPackages(XPathNavigator rootNav)
   at DotNetNuke.Services.Installer.Installer.ReadManifest(Boolean deleteTemp)
   at DotNetNuke.Services.Upgrade.Upgrade.InstallPackage(String file, String packageType, Boolean writeFeedback)
   at DotNetNuke.Services.Upgrade.InternalController.Steps.InstallExtensionsStep.Execute()
   at DotNetNuke.Services.Install.InstallWizard.Install(IApplicationStatusInfo appStatus)

Steps to reproduce?

  1. Create a package with a manifest that has an empty <supportedFeatures></supportedFeatures>
  2. Try to install it.

Current Behavior

No response

Expected Behavior

No response

Relevant log output

Anything else?

No response

Affected Versions

10.3.2 (latest release), develop build (unreleased)

What browsers are you seeing the problem on?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions