views:

80

answers:

2

Hi. First off I just want to say I am not a developer or engineer. I'm just the poor configuration manager trying to get CruiseControl to build a VS2010 / .NET4.0 C# solution and produce the MSIs as outputs. The engineers I support know how to create these MSIs from their VS2010 clients (of course) but not si much about using what is essentially command line options.

The CruiseControl 'code' I'm using is below. It's nothing very clever. I just want to create these MSIs from an automated build script. I've used the DEVENV alternative which does generate the MSIs but there are other issues with using this method.

Can anyone please help?

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe D:\Software\Test.root\Test\ Test.sln /noconsolelogger /v:quiet /p:Configuration=Release;SafeMode=true ReBuild C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll 1800

+1  A: 

We had issues with the creation of MSIs because MSBuild doesn't support .vdproj project types. We ended up using NSIS to produce our installers because using the DEVENV approach meant another licence for VS2005/2008/2010 on the build servers - not ideal.

Having said that I recently stumbled on this post on the MS Blogs which in turn points to a Sourceforge project called WIX which claims to make it easy to create MSIs. I've not had chance to look at it so can't say one way or the other.

Hope this helps.

DilbertDave
A: 

MSBuild is like ant, Nant like scripting language to automate your build environment. It doesn't compile your C#, .NET code or doesn't checkin/checkout your source code. It only provides you to sequencing of commands in single file for doing above things.

like 1.checkout all your source code from source compile 2. compile the code 3. bundling the files for deployment

to do first operation from msbuild you will write commands like: svn checkout..... something like this. for this u need svn should be installed. to do second thing you need compilers for each language. ex if u r using c#, u need .net sdk installed on that box.

your question for third question generating MSI, you need corresponding technology to do that. you can do number of ways. ex WIX is available as open source you have to write wix project that should to all installation work(msi).

to do above operation u can write script in msbuild to automate.

Hope you might understand little about your problem. MSbuild is for automation for your build environment. Wix or installshield for generating MSI

thaks

Prabhakar