【问题标题】:Running a .NET application from a file share without code signing从文件共享运行 .NET 应用程序,无需代码签名
【发布时间】:2009-05-02 22:12:21
【问题描述】:

只要从文件共享运行 .NET exe,.NET 安全模型就会引发安全错误。从本地驱动器运行时不会出现该错误。有没有人知道不需要对代码进行签名的解决方法?

【问题讨论】:

    标签: c# .net vb.net security clr


    【解决方案1】:
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        为了解决这个问题,我们最终将 .exe 包装在一个批处理文件中。批处理文件将 .exe 复制到本地驱动器并从那里运行它。不过,我敢肯定还有一种不那么老套的方法!

        【讨论】:

          【解决方案5】:

          确保在运行该软件的机器上安装了 .Net 3.5SP1。此版本消除了对从文件共享运行的应用程序的安全限制。与将它们置于受限环境中的先前模型相比,它允许它们在完全信任的情况下运行。

          这是 Vance 关于该主题的博客文章的链接

          【讨论】:

            【解决方案6】:

            您可以使用 .Net 配置向导来放松特定程序集及其位置的安全性,而这又可以通过组策略进行部署。您也可以使用前面提到的 caspol。

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

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

            【讨论】:

            • 对于 .NET 2.0,配置向导是 Visual Studio 的一部分,位于“c:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\mscorcfg.msc”
            【解决方案7】:

            您可以使用Click Once deployment 从文件共享中部署您的应用程序。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2011-05-07
              • 1970-01-01
              • 2020-06-10
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-12-20
              相关资源
              最近更新 更多