在我毫无怜悯之前,我的公司将不允许在非开发机器上安装.NET3.5(其他人目前在3.0)。
我在网络共享上有一个托管exe,需要能够从那里运行。这是.NET3.5之前版本的常见问题,但我无法弄清楚如何解决它。除了MSDN CAS文章(就像尝试阅读和理解EULA一样)之外,我还阅读了this question以及this article。我似乎无法解决这个问题。
我试过签名;以及文章中的其他建议。我发现让它从网络运行的唯一方法是使它成为一次点击应用程序并发布它;这是不可接受的,因为它在已发布的目录中创建了一堆不同的文件(这会使我们的技术用户感到困惑),并在“控制面板”的“添加/删除程序”中创建条目。
我只是一个开发人员,因此我无权设置/更改机器政策等。任何人都可以给我一步一步的指示(或指向一个易于阅读的网站),说明需要做些什么才能让这个东西从网络上运行?如果没有设置机器/域安全/软件策略(我无权访问),它甚至可能吗?
修改的
好的......我希望被拒绝投票;但是,如果人们能够解释他们为何投票,那将是非常好的。这是一个严重的问题,很多人似乎都有问题;几乎没有人知道如何解决。
答案 0 :(得分:2)
Pre 3.5并且没有访问机器本身或机器/域策略,我认为你运气不好。
蛮力方法是转到控制面板>管理工具> MS .NET Framework X.X向导>调整每台计算机上的.NET安全性,并将“本地Intranet”区域的安全级别设置为FullTrust。这种方法存在的安全风险是,现在您信任您的Intranet上可用的所有 .NET代码,这可能不是您组织想要的。
更多的手术方法是通过使用开发团队的私钥(可以由.NET生成)对.NET程序集进行签名来为.NET程序集提供强名称。然后在用户的计算机上执行一次性安装策略,该策略信任使用您团队密钥签署的所有程序集。现在,无论他们身处何处,您所有团队的.NET程序集都将完全受信任。
答案 1 :(得分:0)
您可以创建一个非托管引导程序,在本地复制.net代码并启动它。或者您可以使用单击一次并在另一个目录中创建快捷方式以隐藏其他文件。