I'm using D NN 07.04.02. I want to install a component of my module into the DNN Admin menu. There is a <page ... /> element available that looks like it will do what I want.
However, the Install Extension Wizard fails (critical error displayed on screen) when I try to install my package (see the stack trace below). If I remove the <page> element the install wizard completes successfully, but I can't find my extension in the admin section. I can add the module on to a page successfully so I think the code and manifest are ok. I would leave out the page element, but there seems to be no way to set the data contained in the page element via the Admin GUI for the module.
Not sure if this is a bug in 7.4.2 or not. I was going to start playing with different versions, but I thought I would ask first.
Thanks In advance,
Paul
Module definition from my manifest:
<component type="Module">
<desktopModule>
<moduleName>Categories</moduleName>
<foldername>Admin/Categories</foldername>
<businessControllerClass>Modules.Admin.Categories.Components.BusinessController</businessControllerClass>
<supportedFeatures>
<supportedFeature>IUpgradeable</supportedFeature>
</supportedFeatures>
<page type="Admin" common="false">
<name>Category Settings</name>
<icon>~/Icons/Sigma/Lists_16X16_Standard.png</icon>
<largeIcon>~/Icons/Sigma/Lists_32X32_Standard.png</largeIcon>
<description>Configure Sitewide Category Settings</description>
</page>
<moduleDefinitions>
<moduleDefinition>
<friendlyName>Category Settings</friendlyName>
<moduleControls>
<moduleControl>
<controlKey />
<controlSrc>DesktopModules/Admin/Categories/CategorySettings.ascx</controlSrc>
<controlTitle>Category Settings</controlTitle>
<controlType>Admin</controlType>
<iconFile></iconFile>
<helpUrl></helpUrl>
<viewOrder>0</viewOrder>
<supportsPartialRendering>False</supportsPartialRendering>
<supportsPopUps>True</supportsPopUps>
</moduleControl>
</moduleControls>
</moduleDefinition>
</moduleDefinitions>
</desktopModule>
<eventMessage>
<processorType>DotNetNuke.Entities.Modules.EventMessageProcessor, DotNetNuke</processorType>
<processorCommand>UpgradeModule</processorCommand>
<attributes>
<businessControllerClass>Modules.Admin.Categories.Components.BusinessController</businessControllerClass>
<desktopModuleID>[DESKTOPMODULEID]</desktopModuleID>
<upgradeVersionsList>01.00.00</upgradeVersionsList>
</attributes>
</eventMessage>
</component>
Stack Trace from Log:
2016-01-28 18:46:57,648 [myMachine][Thread:52][DEBUG] DotNetNuke.Services.Installer.Log.Logger - StartJob: Reading Installation Manifest file
2016-01-28 18:46:57,662 [myMachine][Thread:52][DEBUG] DotNetNuke.Services.Installer.Log.Logger - Info: Reading Package Manifest - Module - Categories
2016-01-28 18:46:57,662 [myMachine][Thread:52][INFO] DotNetNuke.Services.Installer.Log.Logger - Reading Package Manifest - Module - Categories
2016-01-28 18:46:57,679 [myMachine][Thread:52][DEBUG] DotNetNuke.Services.Installer.Log.Logger - Info: Reading Component Manifest - Module
2016-01-28 18:46:57,680 [myMachine][Thread:52][INFO] DotNetNuke.Services.Installer.Log.Logger - Reading Component Manifest - Module
2016-01-28 18:46:57,712 [myMachine][Thread:52][ERROR] DotNetNuke.Services.Exceptions.Exceptions - ~/Default.aspx?tabid=36&error=%27Element%27+is+an+invalid+XmlNodeType.
System.Xml.XmlException: 'Element' is an invalid XmlNodeType.
at System.Xml.XmlReader.FinishReadElementContentAsXxx()
at System.Xml.XmlReader.ReadElementContentAsString()
at DotNetNuke.Entities.Modules.DesktopModuleInfo.ReadXml(XmlReader reader) in c:\TeamCity\buildAgent\work\DNN_Platform_742_Public\Packaging\DNN.Platform\DNN Platform\Library\Entities\Modules\DesktopModuleInfo.cs:line 422
at DotNetNuke.Common.Utilities.CBO.DeserializeObject[TObject](XmlReader reader) in c:\TeamCity\buildAgent\work\DNN_Platform_742_Public\Packaging\DNN.Platform\DNN Platform\Library\Common\Utilities\CBO.cs:line 609
at DotNetNuke.Services.Installer.Installers.ModuleInstaller.ReadManifest(XPathNavigator manifestNav) in c:\TeamCity\buildAgent\work\DNN_Platform_742_Public\Packaging\DNN.Platform\DNN Platform\Library\Services\Installer\Installers\ModuleInstaller.cs:line 222
at DotNetNuke.Services.Installer.Installers.InstallerFactory.GetInstaller(XPathNavigator manifestNav, PackageInfo package) in c:\TeamCity\buildAgent\work\DNN_Platform_742_Public\Packaging\DNN.Platform\DNN Platform\Library\Services\Installer\Installers\InstallerFactory.cs:line 176
at DotNetNuke.Services.Installer.Installers.PackageInstaller.ReadComponents(XPathNavigator manifestNav) in c:\TeamCity\buildAgent\work\DNN_Platform_742_Public\Packaging\DNN.Platform\DNN Platform\Library\Services\Installer\Installers\PackageInstaller.cs:line 214
at DotNetNuke.Services.Installer.Installers.PackageInstaller.ReadManifest(XPathNavigator manifestNav) in c:\TeamCity\buildAgent\work\DNN_Platform_742_Public\Packaging\DNN.Platform\DNN Platform\Library\Services\Installer\Installers\PackageInstaller.cs:line 635
at DotNetNuke.Services.Installer.Installers.PackageInstaller..ctor(String packageManifest, InstallerInfo info) in c:\TeamCity\buildAgent\work\DNN_Platform_742_Public\Packaging\DNN.Platform\DNN Platform\Library\Services\Installer\Installers\PackageInstaller.cs:line 118
at DotNetNuke.Services.Installer.Installer.ProcessPackages(XPathNavigator rootNav) in c:\TeamCity\buildAgent\work\DNN_Platform_742_Public\Packaging\DNN.Platform\DNN Platform\Library\Services\Installer\Installer.cs:line 283
at DotNetNuke.Services.Installer.Installer.ReadManifest(Boolean deleteTemp) in c:\TeamCity\buildAgent\work\DNN_Platform_742_Public\Packaging\DNN.Platform\DNN Platform\Library\Services\Installer\Installer.cs:line 497
at DotNetNuke.Modules.Admin.Extensions.Install.wizInstall_NextButtonClick(Object sender, WizardNavigationEventArgs e)
at System.Web.UI.WebControls.Wizard.OnNextButtonClick(WizardNavigationEventArgs e)
at System.Web.UI.WebControls.Wizard.OnBubbleEvent(Object source, EventArgs e)
at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)