【发布时间】:2009-05-02 22:12:21
【问题描述】:
只要从文件共享运行 .NET exe,.NET 安全模型就会引发安全错误。从本地驱动器运行时不会出现该错误。有没有人知道不需要对代码进行签名的解决方法?
【问题讨论】:
标签: c# .net vb.net security clr
只要从文件共享运行 .NET exe,.NET 安全模型就会引发安全错误。从本地驱动器运行时不会出现该错误。有没有人知道不需要对代码进行签名的解决方法?
【问题讨论】:
标签: c# .net vb.net security clr
使用caspol.exe 为该文件共享分配足够的权限以运行您的程序。
【讨论】:
您可能能够针对 .net 3.5 sp1 构建应用程序,此版本删除了此安全设置。
【讨论】:
为了解决这个问题,我们最终将 .exe 包装在一个批处理文件中。批处理文件将 .exe 复制到本地驱动器并从那里运行它。不过,我敢肯定还有一种不那么老套的方法!
【讨论】:
确保在运行该软件的机器上安装了 .Net 3.5SP1。此版本消除了对从文件共享运行的应用程序的安全限制。与将它们置于受限环境中的先前模型相比,它允许它们在完全信任的情况下运行。
这是 Vance 关于该主题的博客文章的链接
【讨论】:
您可以使用 .Net 配置向导来放松特定程序集及其位置的安全性,而这又可以通过组策略进行部署。您也可以使用前面提到的 caspol。
另一种选择是使用代码访问安全性。有一篇精彩的 MSDN 文章 here 解释它。
第三种选择是使用 clickonce 部署,但是这仍然会在执行时创建程序集的本地实例。
【讨论】:
您可以使用Click Once deployment 从文件共享中部署您的应用程序。
【讨论】: