从文件共享运行.NET应用程序而无需代码签名

问题描述:

无论何时从文件共享运行.NET EXE文件,.NET安全模型都会引发安全错误。从本地驱动器运行时,不会显示该错误。有没有人知道解决这个问题,而不需要代码签名?从文件共享运行.NET应用程序而无需代码签名

为了解决这个问题,我们最终将包裹在一个批处理文件中.exe。批处理文件将.exe复制到本地驱动器并从那里运行。我敢肯定,尽管这种做法不太冒昧!

使用caspol.exe来分配该文件共享足够的权限来运行您的程序。

您可能可以针对.net 3.5 sp1构建应用程序,此版本将删除此安全设置。

您可以使用.Net配置向导来放宽特定装配和它的位置的安全性,这可以通过组策略进行部署。你也可以像前面提到的那样使用caspol。

另一种选择是使用代码访问安全性。有一个辉煌的MSDN文章here解释它。

第三种方法是使用clickonce部署,但是这仍然会在执行时创建程序集的本地实例。

+0

对于.NET 2.0的配置向导是Visual Studio中的一部分,可以在“C发现:\ Program Files文件\微软的Visual Studio 8 \ SDK \ 2.0 \ BIN \ mscorcfg.msc” – 2009-05-03 00:08:04

确保.net 3.5SP1安装在运行该软件的机器上。该版本删除了从文件共享运行的应用程序的安全限制。它使他们能够以完全信任的方式运行,而之前的模型则将其置于受限制的环境中。

下面是关于这个问题

您可以使用Click Once deployment部署从文件共享应用程序万斯的博客文章的链接。