Techniques For Application Deployment In C#
<p>How do people here actually deploy a C# application??</p>

<p>I see a couple of options</p>

<ul>
<li><p>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</p></li>
<li><p>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</p></li>
<li><p>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.</p></li>
</ul>

<p>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??</p>

<p>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</p>

<p>I would also be interested in hearing new ways of deploying apps nicely</p>

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

<p>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!!</p>
