Jack Kada
Jack Kada

Reputation: 25182

Techniques For Application Deployment In C#

How do people here actually deploy a C# application??

I see a couple of options

If we assume option 3 then what are the security implications of dlls on a network? And given that dlls are versioned can you actually patch a dll in place without recompiling the app??

Certainly in Java you can modify one env variable and it will pick up new JAR files and these can be updated in place without a complete re compillation provided method signatures have not changed

I would also be interested in hearing new ways of deploying apps nicely

EDIT: This is not a desktop app - This is an app that runs on a server. Does Clickonce still work??

And also remember that this needs to be deployed to ten or so machines and I do not want to rdp into each of them!!

Upvotes: 0

Views: 1649

Answers (4)

Rad
Rad

Reputation: 8381

I cannot recommend Wix highly enough. Very powerful and very flexible

Upvotes: 1

user204724
user204724

Reputation: 160

I'd say use built-in feature with creating MSI package (in your Visual Studio) and have a nice day.

Upvotes: 1

Dani
Dani

Reputation: 15069

It depends if you deploy inside a corporate or world wide... basically - you better depoy everything, and use technologies like ClickOnce install to update the deployment automatically if necessary.

Upvotes: 0

Marc Gravell
Marc Gravell

Reputation: 1062502

Solve all in one go; ClickOnce - like 1, but managed by the system, and with it doing automatic update for you. In Visual Studio, this is what the "Publish" feature does for you (when writing an exe, obviously).

Steps:

  • you publish to a web-server, network share, or any other suitable deployment medium (CD would do)
  • each user "runs" (for want of a better word) the .application file
  • ???
  • profit!

2 is indeed a security nightmare, especially on vanilla 2.0 (it gets easier in 3.5 SP1), and 3 takes too much time to do per machine.

So ClickOnce as far as possible. If you need more (install COM etc), then an msi installer.

Or consider Silverlight etc - different framework, but even easier to deploy.

Upvotes: 3

Related Questions