tags:

views:

359

answers:

4

what is the best way to deploy a winforms app if you know you are going to be doing frequent releases

+4  A: 

Click Once is your best bet.

Otávio Décio
A: 

I recommend an NANT build script, using NSIS for your setup script. Both are freely available and allow you to have a one-click build process that is fully expandable.

Robert Venables
+1  A: 

Click Once is great if you know the customer base will always have access to an internet connection and they only ever need a single version installed. This is probably true for the majority of apps.

But if that is not the case then I recommend you ensure that people can install different versions of your application side-by-side. Do not place your assemblies in the GAC or have them share a common resource. This way the customer can have multiple versions installed and they all continue to work. Xcopy deployment would be even better but hard to achieve in practice for non-trivial apps.

Phil Wright
Of course, if that's the case, then why not just make it a web app to begin with...
Chris Lively
@Chris: ClickOnce means users only need an internet connection when installing and updating. Web apps need connectivity all the time.
Cameron MacFarland
A: 

In a corporate network I do the following:

  • create a strong name key
  • have all machines 'full trust' any assembly with that key - this can be automated with group policy.
  • sign the app with the strong name key
  • put the application on a network share and push shortcuts to the user’s desktops via a script or group policy.

Note: It's given that you've already pushed out the .NET framework. This also can be automated. If you've other resources that need to installed on the client the something like Click once is going to be needed.

Booji Boy