Run a .NET program from a mapped drive or shared folder - Pros/Cons

.net-3.5, winforms

Solution

We have a number of console programs written in .Net that do nightly batch processing. These programs "live" on a SAN accessed via mapped drive. Since we're still on .Net 2.0 the processing server had to be specially configured to allow these programs to run, and of course the processing server needs the framework installed, but otherwise it works great. .Net3.5sp1 would even fix the special configuration.

Now, this scenario is probably different from what you're thinking about. If you want to deploy an application to a shared folder so that a lot of different users can access it, this is a bad idea. If you write to any data files in the same folder as the app (a bad idea anyway, but people do it all the time) then those files are shared (and locked) by all users. Also, any user currently running the program causes the file system to place a lock on the program file, potentially locking you out of deploying updates. If you want to do this, .Net provides an excellent system called ClickOnce to support deploying apps to network shares.

Problem

This may be a silly question for some of you, but what are Pros/Cons of running a Windows Forms .Net application from a shared drive. Up until recently I didn't even know this was possible. From research it looks like .Net 3 SP1 allows this behavior (without requiring any security changes). I am curious as to any concurrency issues or scalability. Also, I am assuming .Net is still required on each client that will run the app from the shared drive. Any help is appreciated.

Original source