0

在我毫不留情地被抨击和否决之前,我的公司将不允许在非开发机器上安装 .NET3.5(其他人目前在 3.0 上)。

我在网络共享上有一个托管 exe,需要能够从那里运行。这是 pre-.NET3.5SP1 的常见问题,但我不知道如何解决。除了 MSDN CAS 文章(就像尝试阅读和理解 EULA)之外,我还阅读 了这个问题以及这篇文章。我似乎无法解决这个问题。

我试过签名;以及文章中的其他建议。我发现让它从网络上运行的唯一方法是让它成为一个点击一次的应用程序并发布它;这是不可接受的,因为它在已发布的目录中创建了一堆不同的文件(这使我们的技术水平较低的用户感到困惑)并在控制面板的“添加/删除程序”中创建条目。

我只是一个开发人员,所以我无权设置/更改机器策略等。谁能给我一步一步的说明(或指向一个易于阅读的站点),说明需要做什么才能使这个东西从网络上运行?甚至可以不设置机器/域安全/软件策略(我无权访问)吗?

编辑
好吧...我预计会被否决;但是,如果人们能解释为什么他们投了反对票,那就太好了。这是一个严重的问题,许多人似乎都遇到了问题;几乎没有人知道如何解决。

4

2 回答 2

2

Pre 3.5 并且无法访问机器本身或机器/域策略,我认为你不走运。

蛮力方法是在每台计算机上转到控制面板 > 管理工具 > MS .NET Framework XX 向导 > 调整 .NET 安全性,并将本地 Intranet 区域的安全级别设置为 FullTrust。这种方法的安全风险在于,现在您信任Intranet 上可用的所有.NET 代码,这可能不是您的组织想要的。

更为外科手术的方法是通过使用开发团队的私钥(可由 .NET 生成)对 .NET 程序集进行签名,为它们赋予一个强名称。然后在您的用户计算机上执行一次只安装策略,该策略信任使用您团队的密钥签名的所有程序集。现在,您团队的所有 .NET 程序集都将受到完全信任,无论它们实际位于何处。

于 2008-10-24T16:37:32.803 回答
0

您可以创建一个非托管引导程序,在本地复制您的 .net 代码并启动它。或者您可以使用单击一次并在另一个目录中创建快捷方式来隐藏其他文件。

于 2008-10-24T16:56:38.257 回答