views:

105

answers:

2

Hello,

Here are the steps I take to create a package shipped to the end users:

  1. Use visual studio 2005 Build the project (which is library DLL written in C#), both in debug and release mode.
  2. I run doxygen and create documentation
  3. I create a folder structure where I put my dll documentation and some release notes
  4. zip it
  5. ship it

the directory tree structure looks like this:

     --NetApi:
               --Api
                  --vs2005
                       --relesae
                              --dll
                        --debug
                              --dll
               --documentation
                  --htmls files generated by doxygen

              --ReleaseNotes.html       

              --Examples

I am thinking of rolling out a script to automate that. But before I do that, I would like to find out the common practices of packaging library api type of project, particularly structure, and tools used. References and examples are highly appreciated

Thanks

A: 

For deployment I really like Inno Setup.

It is free, flexible, and can be easily customized to your tastes.

Dana Holt
what about building it?
Take a look at FinalBuilder (http://www.finalbuilder.com/) for automating the build process.
Dana Holt
sweet, I will take a look at it...
+1  A: 

I am a big believer in continuous-integration and automated builds.

We have a rule in our shop that we never, ever, ever provide deliverables to a customer that were not produced by a fully automated, zero or one step build (that means that it took no more than 1 mouse click by a human to baseline, build, package, and release the thing.) These fully automated, one-step builds work by recognizing when a change is made to your source code control system, and automatically triggering the "build script."

For C#, I can recommend both CruiseControl.NET and Hudson.

I can also recommend the Pragmatic Project Automation series of books. Variants of this title should be available for both Java and .NET.

There are lots of prewritten build servers out there that can help you automate this.

Jared