Running a .NET application from a file share witho

2019-02-07 13:48发布

问题:

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?

回答1:

Using CasPol to Fully Trust a Share

more answers here:

Why does my .NET application crash when run from a network drive?



回答2:

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



回答3:

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



回答4:

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!



回答5:

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

  • http://blogs.msdn.com/vancem/archive/2008/08/13/net-framework-3-5-sp1-allows-managed-code-to-be-launched-from-a-network-share.aspx


回答6:

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.



回答7:

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