Question

The .NET security model throws security errors whenever a .NET exe is run from a file share. The error does not appear when ran from a local drive. Does anyone know of a way around this without requiring the code to be signed?

OTHER TIPS

Use caspol.exe to assign that file share enough permissions to run your program.

You might be able to build the application against .net 3.5 sp1 this version was removing this security setting.

To get around this we ended up wrapping our .exe in a batch file. The batch file copied the .exe to the local drive and ran it from there. I'm sure there is a less hacky way though!

Make sure that .Net 3.5SP1 is installed on the machine which is running the software. This version removes the security restriction on apps running from a file share. It allows them to run at full trust vs. the previous model which put them in a restricted environment.

Here's a link to Vance's blog article on the subject

You can use the .Net configuration wizard to loosen security for the specific Assembly and it's location, this in turn can be deployed through a group policy. You can also use caspol as earlier mentioned.

The other alternative is to use code access security. There is a brilliant MSDN article here explaining it.

The third alternative is using clickonce deployment, however this still creates a local instance of the assembly when executed.

You can use Click Once deployment to deploy your application from a file share.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top