0

I just realised I can not run my vdproj file from msbuild without calling Visual Studio.

What a showstopper for atomated builds!

Can you recommend another installer, that allows to compile your setup for a .NET 2.0 Winform-application from commandline?

Mathias F
  • 15,906
  • 22
  • 89
  • 159

3 Answers3

1

Most any other installer tool can. Inno Setup, NSIS, etc.

Kyle Alons
  • 6,955
  • 2
  • 33
  • 28
1

WIX see: http://wix.sourceforge.net/

Established, open source MSi based installer. Better still you can migrate buildt msi's from the output of your vdproj. Plus you not longer need to have visual studio to do your builds.

James Woolfenden
  • 6,498
  • 33
  • 53
1

We have an automated build setup that uses calls .vdproj files from TeamCity. One key component is that we had to automate generating a new GUID every time we do a deployment build. (Perhaps that is the "showstopper" you were referring to.) Here is a workaround that supports it:

http://www.codeproject.com/KB/install/VersionVDProj.aspx

It parses your .vdproj file and updates the Package and Product codes. Here are some relevant snippets from our MsBuild file that do the deployment setup:

  <Target Name="Update-Vdproj-Version">
    <Exec Command="Tools\VersionVDProj\VersionVDProj.exe -msi Deployment\KillerAppSetup\KipperAppSetup.vdproj version=$(Release)" />
  </Target>

  <Target Name="Build-Setup">
     <Exec Command="$(DevenvPath) KillerAppSetup.sln /build Release" WorkingDirectory="Deployment\KillerAppSetup\" />
  </Target>

So, it can be done, and it is being done!:) Granted that Visual Studio Setup and Deployment projects are fairly primitive, but if they are all you need, this works.

bentsai
  • 3,063
  • 1
  • 27
  • 29
  • I think you call Visual Studio because I see $(DevenvPath) in your script. I dont want to have Visual Studio called. – Mathias F Feb 24 '11 at 20:34
  • Oh okay, if that is the case, then my answer won't help. You need Visual Studio to run deployment projects. – bentsai Feb 24 '11 at 20:46