Because your application is starting on a shared drive, different execution security policies applies.
This implies to learn how .NET Code Access Security is working.
http://msdn.microsoft.com/en-us/library/aa302422.aspx
A quick and dirty solution consists to go to .NET Framework Configuration, unfold RunTime Security Policy, unfold Machine, then Code Groups, then LocalIntranet Zone, do right click on it, choose Properties, then change Permission Set to FullTrust.
This will allow applications in the intranet zone (including application which runs from the shared network) to run as full trusted.
This is definitely not the recommended way to do. The best would be to learn how .NET Code Access Security is working and to apply a specific security policy depending on your application needs.
For example, you can give a strong name with your application by signing it, define a new code group with the public key and apply full trusted permission on that code group. Then you may sign all "approved" application with this same public key, so the same Code Access Security policy applies.