1
votes

I'm writing a custom module for DNN 9.2 and am unable to install the compressed file into my local DNN instance. I feel that this due to the manifest (DNN) file for the solution. The manifest contains numerous <package> node, one for each module I need to install. A sample of the manifest is as follows:

<package name="Modoule1" type="Module" version="0.0.2">
  <friendlyName>Module1</friendlyName>
  <description>Display store links like cart/order history/account/help.</description>
  <iconFile></iconFile>
  <owner>

  </owner>
  <license src="License.txt"></license>
  <releaseNotes src="ReleaseNotes.txt"></releaseNotes>
  <azureCompatible>true</azureCompatible>
  <dependencies>
    <dependency type="CoreVersion">09.00.00</dependency>
  </dependencies>
  <components>
    <component type="Script">
      <scripts>
        <basePath>DesktopModules\MyModule</basePath>
        <script type="Install">
          <path>Providers\DataProviders\SqlDataProvider</path>
          <name>00.00.01.SqlDataProvider</name>
          <version>00.00.01</version>
        </script>
        <script type="UnInstall">
          <path>Providers\DataProviders\SqlDataProvider</path>
          <name>Uninstall.SqlDataProvider</name>
          <version>00.00.01</version>
        </script>
      </scripts>
    </component>
    <component type="Module">
      <desktopModule>
        <moduleName>Module1</moduleName>
        <folderName>Module1</folderName>
        <businessControllerClass>ModuleSolution.Components.FeatureController</businessControllerClass>
        <supportedFeatures>
          <supportedFeature>IPortable</supportedFeature>
          <supportedFeature>ISearchable</supportedFeature>
          <supportedFeature>IUpgradeable</supportedFeature>
        </supportedFeatures>
        <moduleDefinitions>
          <moduleDefinition>
            <friendlyName>Module1</friendlyName>
            <defaultCacheTime>0</defaultCacheTime>
            <moduleControls>
              <moduleControl>
                <controlKey></controlKey>
                <controlSrc>DesktopModules/MyModule/Module1.ascx</controlSrc>
                <supportsPartialRendering>False</supportsPartialRendering>
                <controlTitle>Module Content</controlTitle>
                <controlType>View</controlType>
                <iconFile />
                <helpUrl />
                <viewOrder>0</viewOrder>
                <supportsPopUps>True</supportsPopUps>
              </moduleControl>
              <moduleControl>
                <controlKey>Module1 Settings</controlKey>
                <controlSrc>DesktopModules/MyModule/Module1Settings.ascx</controlSrc>
                <supportPartialRendering>False</supportPartialRendering>
                <controlTitle>Module1 Settings</controlTitle>
                <controlType>Edit</controlType>
                <iconFile/>
                <helpUrl/>
                <viewOrder>0</viewOrder>
              </moduleControl>
            </moduleControls>
          </moduleDefinition>
        </moduleDefinitions>
      </desktopModule>
      <eventMessage>
        <processorType>DotNetNuke.Entities.Modules.EventMessageProcessor, DotNetNuke</processorType>
        <processorCommand>UpgradeModule</processorCommand>
        <attributes>
          <businessControllerClass>MyModule.Components.FeatureController</businessControllerClass>
          <desktopModuleID>[DESKTOPMODULEID]</desktopModuleID>
          <upgradeVersionsList>00.00.01</upgradeVersionsList>
        </attributes>
      </eventMessage>
    </component>
    <component type="Assembly">
      <assemblies>
        <assembly>
          <name>MyModule.dll</name>
          <path>bin</path>
        </assembly>
        <assembly>
          <name>Library1.dll</name>
          <path>bin</path>
        </assembly>
        <assembly>
          <name>Library2.dll</name>
          <path>bin</path>
        </assembly>
      </assemblies>
    </component> 
    <component type="ResourceFile">
      <resourceFiles>
        <basePath>DesktopModules/MyModule</basePath>
        <resourceFile>
          <name>Resources.zip</name>
        </resourceFile>
      </resourceFiles>
    </component>
  </components>
</package>

The DNN extension installer states

Zip File Upload Failed:
An unknown error has occured. Please check your installation zip file and try again. 
Common issues with bad installation files:
Zip file size is too large, check your IIS settings for max upload file size.
Missing resources in the zip file.
Invalid files in the package.
File extension is not .zip.
Check that you are logged in.

No errors are written to the EventLog table in the DNN database. How do I modify the above to ensure the manifest file is properly formed?

1
What are the errors during install? And what happens if you first only try one package and if that works add the second etc until you find the problem install?VDWWD
So, when I was working with just one package, no error was thrown at this juncture. I'm wondering if my naming convention for the package and modules need to be adjusted? Package and module names are the same throughout.SidC

1 Answers

3
votes

I use the following format for multiple packages.

<dotnetnuke type="Package" version="5.0">
  <packages>

      <package name="xxx" type="Module" version="01.00.00">
         //rest of nodes
      </package>

      <package name="xxx" type="SkinObject" version="01.00.00">
         //rest of nodes
      </package>      
  </packages>
</dotnetnuke>

If that still does not work get another module's .dnn file and compare for missing nodes etc.