Register   Login
     
  Categories  
  Archive  
  Authors  
16
Objective
 

The objective of this task is to create a release build of DotNetNuke.

 

A release build is a build of the software that comes with no source code. E.g. just the assemblies, pages and other associated files.

Prerequisites

NAnt

 

You will need to download NAnt, a free .NET build tool.

 

1.      Download and Install NAnt

 

  • Download the latest version of NAnt from nant.sourceforge.net
  • Unzip NAnt into a folder of your choice, E.g. c:\nant\

 

2.      Add NAnt to your environment path

 

  • Right click on “My Computer” and select “Properties”.
  • Select the “Advanced”tab.
  • In the “System Variables” section, select the “Path” variable and click “Edit”.
  • Add the path to your NAnt’s bin folder to the end of the value. E.g. c:\nant\bin (separate values by using the semi-colon (;) character).
  • Click “Okay” to save the value.
  • Click “Okay” to finish editing variables.
  • Click “Okay” to close system properties.

 

The installation of NAnt is now complete.

 

Virtual Directory

 

.NET accesses web projects via their web path and not via the file path (although this changes in ASP.NET 2).

 

For this reason alone, you must have a virtual directory pointing at the folder your DotNetNuke files reside in. So you should create a virtual directory called DotNetNuke, or a name of your choosing. Remember the name as you will need it later.

 

Performing the Build

 

 This step describes the build process.

 

1.      Open up the command prompt.

 

  • Open command prompt clicking “Start” then “Run”, typing “cmd” and pressing “enter”.

 

2.      At the command console, navigate to the folder your DotNetNuke files are stored in, E.g. c:\dotnetnuke

 

  • Type in “cd c:\dotnetnuke” (or the directory containing your dotnetnuke files) and press “enter”

 

3.      Run the NAnt build.

 

  • If you called your virtual directory “DotNetNuke”, type in “nant CreateSrcZip” and press “enter”

 

  • If you called your virtual directory something else, open up DotNetNuke.build and modify the following line to match your virtual directory name:-

 

<property name=”webAlias” value=”DotNetNuke” />

 

becomes

 

<property name=”webAlias” value=”NewVirtualDirectoryName” />

 

4.      The final product

 

  • You should be able to find the end product in a directory called package. The zip should contain release files only.

Conclusion

You should now be able to create your own release only builds of DotNetNuke. There are a lot of other configuration options you should explore within the DotNetNuke.build file.

Posted in: DotNetNuke

Post Rating

Comments

Anonymous User
# Anonymous User
Monday, May 16, 2005 7:43 PM
Scott, Is this to say its not possible using Visual Studio?
Scott McCulloch
# Scott McCulloch
Monday, May 16, 2005 8:02 PM
You can still publish in vs.net, but I have found this way much easier, especially because of some of the build problems then can happen with 55 projects in vs.net
Anonymous User
# Anonymous User
Sunday, June 12, 2005 9:31 PM
Would CreateBinZip be the command to use to zip up onlly the files needed to run the site?And then upload?
rasika
# rasika
Thursday, April 19, 2007 3:27 AM
I have developed a system in dotnetnuke 3.3.5 in which all the business components and most of the business logic is in a class library.How can i create an installation package to upload this class library so that sql scripts are run when uploading this.The problem is this class library does not have ascx files or resource files like normal dotnetnuke modules.So can i create release package as you do with a normal module or in a different way?Your suggestions are highly appreciated!
Scott McCulloch
# Scott McCulloch
Thursday, April 19, 2007 5:52 AM
To the last comment, I'm not sure what type of project you are building where you do not have any ascx files.

I imagine you could package it up the same as a module though, although it would be put in the module definitions list, so you shouldn't use the module installer as this is not the right place to do what you want.

If it is some library with sql scripts, you may just have to run manually with instructions.
rasika
# rasika
Thursday, April 19, 2007 11:48 PM
Thanks a lot Scott.I think I'll have to run the scripts manually as you say
I do have modules in my project.But I use only one dataprovider, one sql dataprovider and one controller for all modules and they are in a class library.All the modules with ascx files refer to this class library.Thank you again for your reply.
Cherukuri Venkateswarlu
Thursday, November 26, 2009 6:41 AM
Nice articles.

Post Comment

Name (required)

Email (required)

Website

Enter the code shown above: