Reputation: 25182
How do people here actually deploy a C# application??
I see a couple of options
1)Ensure all dlls are copy local and literally copy and paste the entire bin/Debug folder onto the deployment machine. This is a pain if you need to deploy and update versions on many machines
2) Deploy the app to a shared folder and have the app executed from there (Is nt this problematic from a security point of view) ie security of dll's on a network
3) Deploy the app once to all machines manually but keep referenced dlls in a shared folder. You can then release individual dlls to just this folder.
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
Reputation: 160
I'd say use built-in feature with creating MSI package (in your Visual Studio) and have a nice day.
Upvotes: 1
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
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:
.application
file2 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