Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDevelopment and...Development and...Building ExtensionsBuilding ExtensionsModulesModulesHow to install a compiled module DLLHow to install a compiled module DLL
Previous
 
Next
New Post
1/20/2011 4:12 PM
 
Hello all

Can anyone assist me? I have a module that I have been developing in Visual Studio 2008 as a 'Precompiled Module', which I believe is more or less a Web Application Project that builds the ASCX files into a DLL. The solution resides within the DesktopModules folder of the development DNN 5.6 site. I get as far as building, and it works OK, i.e., I can build the DLL to a bin folder, but then I'm not sure what I should be doing.

I'm familiar with creating a module directly from ASCX files using the DNN Module Definitions tab, I've done that successfully enough times before, but I'm pretty sure that this isn't the way to installing the module when it is already a DLL - presumably this is a 'precompiled module', but how do you get DNN to register the module when it is a DLL, as you would do when using the ASCX controls directly?

I'm guessing that it is something to do with either the manifest file, or the location of the bin folder, but can somebody help to point me in the direction for the next stage: at the moment I have a DLL file that I can't get installed into DNN! Does the manifest file somehow get integrated into the DLL during the build, or does it remain outside the DLL ready for another layer of packaging?

Thanks for any suggestions!

 
New Post
1/20/2011 6:24 PM
 
typically you would automate the packaging of it - see the 2 entries on the wiki http://www.dotnetnuke.com/Resources/Wiki/tabid/1409/loc/allpages/Cat/Packaging/Default.aspx . However you can add a module definition for just the ascx's and when you use its wizard to create a packaged module you will have the opportunity to add additional files including your dll. Alternatively you can manually edit the dnn manifest file (see http://www.dotnetnuke.com/Resources/Wiki/tabid/1409/Page/Manifests/Default.aspx for ful details on the manifest file format)

Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
3/2/2011 9:54 AM
 
Hi

  Thanks but I'm a still too woolly on this, and that URL you suggest seems to have gone now. I'm trying to install my precompiled module into DNN 5.6.0 but it seems the install is failing, though I don't get any error until I try to edit the properties of the module. Anyway, I don't think the install works properly - at the moment I'm letting DNN create the package by pointing the module definitions page module installer at a manifest file that includes the precompiled dll as a  node. Is this a valid approach for installing the module when it is a dll, or is this only for custom dll's to modify the DNN system itself?

A foobar version of the manifest follows. Apart from all the foobars, this is exactly the manifest format I am trying to use:


type="Module"
version="01.00.00">
FooBar.Uploader

FooBar Uploader blah blah blah.


FooBar
FooBar
www.foobar.co.uk
info@foobar.co.uk



  • 05.06.00





    bin
    FooBar.Uploader.dll






    bin
    FooBar.Uploader.dll







    I don't get any positive confirmation at the end of the package install process, and even though the module name is shown in the definitions list, I can't do anything with regarding editing properties, and the module does not appear in the 'Add module' lists when I edit a page. The Event Viewer in DNN just shows an object not found error when I try to look at the properties, so the module obviously isn't getting installed properly, though I can apparently uninstall OK afterwards.

    Where could I be going wrong? Is the manifest obviously incorrect somewhere? Is this not a valid way to install precompiled DLL?

    Thanks for any advice about how to troubleshoot this issue.

    Regards

  •  
    New Post
    3/2/2011 9:56 AM
     
    Oh dear

    That effort to post the manifest was very unsuccessful - as you can see all the nodes have been stripped out. Is there any way of posting the contents of a manifest file too?

    Cheers
     
    New Post
    3/2/2011 2:20 PM
     
    Paul,

    I can see from what you were able to post of the manifest and from your other comments believe that you are trying to create a module package containing ONLY the assembly (dll) file. To be installed a module, the package must include not only a properly structured manifest and the assembly (.dll file) but also the module controls (.ascx files), any language localization resources (.resx files), and any SqlDataProvider scripts necessary for creating database objects used by the module.

    I would suggest looking a several of the simpler DNN 5 module projects in the Forge/CodePlex to see how their packages and manifest are structured. The following CodePlex project by Chris Hammond provides a template for a compiled module which makes use of a MSBuild script to automatically package the module. That approach is similar to my own module development process.

    http://christoctemplate.codeplex.com/

    Finally, if your module is located in a folder of DesktopModules and is fairly simple in design (in particular only one assembly) and you have already registered its definition and controls in Host-->Extensions or Host-->Module Definitions you should be able to create a basic install package automatically by following these steps:

    1. While logged in as host user navigate to Host --> Extensions
    2. Click on the edit pencil beside the entry for your custom module.
    3. Click on "Create Package" link at the bottom of the page.
    4. Leave "Use Existing Manifest" unchecked and "Review Manifest" checked.
    5. Click "Next"
    6. You will be presented with a list of files found in your modules' folder. It should include the .ascx files, .resx file, other support files and any .SqlDataProvider scripts but will not include the assembly (dll). You can delete from or add files to this list as may be approprate.
    7. Click "Next".
    8. You will be presented with a list of assembilies based on your modules' Visual Studio project file. If the module's assembly is not listed, type in a path relative to the root folder of the install or if it is in the site's /bin folder, just the assembly name - for example MyModuleAssembly.dll.
    9. Click "Next"
    10. A manifest will be created and you will have the opportunity to edit it.
    11. Click "Next"
    12. Leave "Create Manifest" checked and if necessary edit the manifest file name. Leave "Create Package" checked and if necessary edit the package file name.
    13. Click "Next"
    14. The completed package (.zip) will be placed in the site's Install/Module/ folder.

    Bill, WESNet Designs
    Team Lead - DotNetNuke Gallery Module Project (Not Actively Being Developed)
    Extensions Forge Projects . . .
    Current: UserExport, ContentDeJour, ePrayer, DNN NewsTicker, By Invitation
    Coming Soon: FRBO-For Rent By Owner
     
    Previous
     
    Next
    HomeHomeDevelopment and...Development and...Building ExtensionsBuilding ExtensionsModulesModulesHow to install a compiled module DLLHow to install a compiled module DLL


    These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

    For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

    1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
    2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
    3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
    4. No Flaming or Trolling.
    5. No Profanity, Racism, or Prejudice.
    6. Site Moderators have the final word on approving / removing a thread or post or comment.
    7. English language posting only, please.
    What is Liquid Content?
    Find Out
    What is Liquid Content?
    Find Out
    What is Liquid Content?
    Find Out