The Manifest file in DNN provides the framework with the information necessary to install and register a module. Here's a sample Manifest file for the dnnSimpleArticle module.
<dotnetnuke type="Package" version="5.0">
<packages>
<package name="dnnsimplearticle" type="Module" version="00.02.03">
<friendlyName>dnnsimplearticle</friendlyName>
<description>An open source articles module for DotNetNuke, from Christoc.com</description>
<iconFile>desktopmodules/dnnsimplearticle/i/SimpleArticleLogo.jpg</iconFile>
<owner>
<name>Chris Hammond</name>
<organization>Christoc.com Software Solutions</organization>
<url>http://www.christoc.com</url>
<email>[email protected]</email>
</owner>
<license src="License.txt"/>
<releaseNotes src="ReleaseNotes.txt" />
<dependencies>
<dependency type="CoreVersion">08.00.00</dependency>
<!-- .NET 4.5 -->
<dependency type="type">System.Reflection.ReflectionContext</dependency>
</dependencies>
<components>
<component type="Script">
<scripts>
<basePath>DesktopModules\dnnsimplearticle</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>
<script type="Install">
<path>Providers\DataProviders\SqlDataProvider</path>
<name>00.00.03.SqlDataProvider</name>
<version>00.00.03</version>
</script>
<script type="Install">
<path>Providers\DataProviders\SqlDataProvider</path>
<name>00.00.07.SqlDataProvider</name>
<version>00.00.07</version>
</script>
<script type="Install">
<path>Providers\DataProviders\SqlDataProvider</path>
<name>00.01.00.SqlDataProvider</name>
<version>00.01.00</version>
</script>
</scripts>
</component>
<component type="ResourceFile">
<resourceFiles>
<basePath>DesktopModules/dnnsimplearticle</basePath>
<resourceFile>
<name>Resources.zip</name>
</resourceFile>
</resourceFiles>
</component>
<component type="Module">
<desktopModule>
<moduleName>dnnsimplearticle</moduleName>
<foldername>dnnsimplearticle</foldername>
<businessControllerClass>Christoc.Modules.dnnsimplearticle.Components.FeatureController</businessControllerClass>
<supportedFeatures />
<moduleDefinitions>
<moduleDefinition>
<friendlyName>dnnsimplearticle</friendlyName>
<defaultCacheTime>0</defaultCacheTime>
<moduleControls>
<moduleControl>
<controlKey />
<controlSrc>DesktopModules/dnnsimplearticle/View.ascx</controlSrc>
<supportsPartialRendering>False</supportsPartialRendering>
<controlTitle />
<controlType>View</controlType>
<iconFile />
<helpUrl />
<viewOrder>0</viewOrder>
</moduleControl>
<moduleControl>
<controlKey>Edit</controlKey>
<controlSrc>DesktopModules/dnnsimplearticle/Edit.ascx</controlSrc>
<supportsPartialRendering>False</supportsPartialRendering>
<controlTitle>Edit Content</controlTitle>
<controlType>Edit</controlType>
<iconFile />
<helpUrl />
<viewOrder>0</viewOrder>
</moduleControl>
<moduleControl>
<controlKey>Settings</controlKey>
<controlSrc>DesktopModules/dnnsimplearticle/Settings.ascx</controlSrc>
<supportsPartialRendering>False</supportsPartialRendering>
<controlTitle>dnnsimplearticle Settings</controlTitle>
<controlType>Edit</controlType>
<iconFile />
<helpUrl />
<viewOrder>0</viewOrder>
</moduleControl>
</moduleControls>
</moduleDefinition>
</moduleDefinitions>
</desktopModule>
</component>
<component type="Assembly">
<assemblies>
<basePath>bin</basePath>
<assembly>
<name>dnnsimplearticle.dll</name>
</assembly>
</assemblies>
</component>
<component type="Config">
<config>
<configFile>web.config</configFile>
<install>
<configuration>
<nodes>
<node path="/configuration/dotnetnuke/sitemap/providers" action="update" key="name" collision="overwrite">
<add name="DNNSimpleArticleSiteMapProvider" type="Christoc.Modules.dnnsimplearticle.Providers.Sitemap.Sitemap, DNNSimpleArticle" providerPath="~\DesktopModules\dnnsimplearticle\Providers\Sitemap\" />
</node>
</nodes>
</configuration>
</install>
<uninstall>
<configuration>
<nodes />
</configuration>
</uninstall>
</config>
</component>
</components>
</package>
</packages>
</dotnetnuke>