2

I'm wondering what others use as a tool for creating the final package to hand over to the customer. For now, these are the tasks it should perform for our company:

  • build a set of VS projects (C#,C++); which set depends on configuration on commandline of preferrably in a file
  • copy some of the outputs (dll,exe) and header files; should again be configurable: not all customers get the same functionality)
  • make a zip file for each configuration

Additional features that are not yet needed now, but might be in the future:

  • upload it to a website of some kind (we're still not sure what we're going to use.. might be ftp or vesrionsing system). Well, actually, it would be awesome if the tool could create an entry on a Confluence page.
  • instead of zip files we might switch to installers, though that shouldn't change too much I guess

Right now I have the first steps covered in a batch file that takes some arguments, and a master batch file that calls it for each configuration. It works, but I can't get used to the batch syntax and I'm now building by invoking devenv.exe which seems slow and is error-prone as it takes the .suo file into account.

I was thinking about doing everything again in msbuild, but first I'd like to hear more opinions on this. I'd also want to know what kind of tools big companies use for large products.

Falcon
  • 19,248
  • 4
  • 78
  • 93
stijn
  • 4,108
  • 1
  • 25
  • 31
  • The answer is language-specific, so I added the `C#` and `C++` tags. – Péter Török Aug 24 '11 at 10:13
  • @Peter: I was just about to remove them. Building C++ and C# projects is a Visual Studio action, *not* C# or C++ specific. – DeadMG Aug 24 '11 at 10:29
  • This cannot be done with one tool alone afaik. Have a look [here](http://programmers.stackexchange.com/questions/96408/1-click-software-release/96414#96414) to get you started. Then use nant and batch files for example to do stuff like ftp uploads etc. You'll most always need custom scripts. – Falcon Aug 24 '11 at 10:30
  • @DeadMG, fair enough, then maybe it is better to replace them with `visual-studio` and/or `.net`. In Java, I would use Maven without thinking, but I am sure it wouldn't work for this case :-) – Péter Török Aug 24 '11 at 10:35
  • It can have only 5 tags and it should definitely contain "continuos-integration", so I removed the language tags and added visual studio. D'accord? – Falcon Aug 24 '11 at 10:39
  • 2
    Potential duplicate - http://programmers.stackexchange.com/questions/96408/1-click-software-release – ChrisF Aug 24 '11 at 11:28

1 Answers1

5

Why not use MS Build? It's totally integrated and it has been created for such tasks.

I also recommend you the following reading:

enter image description here

and

enter image description here

  • +1: I made a quick prototype of a script in msbuild and it's definitely much handier than batch files. Especially since I learned that you can use metadata with lists which makes selecting what to build/copy/... much easier – stijn Aug 25 '11 at 06:41