从网络共享运行c# .NET程序

5

我有一个有趣的问题。我把一个C# .NET的exe文件放在了网络共享中。如果我试图

Start->Run: \\hostname\test.exe

我的软件可以正常启动,一切都运行良好。

我们还为这台计算机设置了DNS别名,因此如果我尝试通过以下方式运行我的程序:

Start->Run: \\mydnsalias\test.exe

我的程序会出现一个错误提示信息:“test遇到了问题,需要关闭...

在客户端安装了.NET 2.0、3.0和3.5 SP1。网络共享设置了完全信任的caspol(使用dnsalias设置)。


CASPOL黑客是否同时应用于主机名和我的DNS别名? - Marc Gravell
不,只有“测试遇到问题并需要关闭…”作为标题,下面是“如果您尚未保存工作……blahblah……”没有其他消息。因为这是在终端服务器上,我无法提供有关事件日志的信息。 - Hans99
1
记录异常,并且如果它是安全异常,则记录其所有属性,它应该告诉您需要为哪个区域指定安全设置。 - Lasse V. Karlsen
@Hans99 - 关于“仅限dnsalias”的问题,如果你指的是“mydnsalias”,那么它不应该从\hostname\test.exe中起作用。你确定没有第二个caspol hack吗?当然,另一个选项是你为“mydnsalias”添加的caspol hack可能是错误的。 - Marc Gravell
你可以先尝试将其输出到控制台。如果出现异常,那么你的程序已经启动了。 - Lasse V. Karlsen
显示剩余3条评论
1个回答

4
Caspol的“微调”对于部署来说有点麻烦。在我看来,从网络上运行一个exe文件的最佳方式是首先确保核心框架不会反对它。
既然你已经安装了3.5 SP1,一个简单的方法是将共享映射到驱动器。如果我没记错的话,在这个服务包中,“j:\test.exe”将被信任,即使“j:”映射到“\hostname”,而“\hostname\test.exe”可能不会被信任。
另一种方法是使用ClickOnce;你可以将应用程序发布到网络共享,并运行“test.application”代替exe文件。这还可以提供选项,如本地副本自动更新、文件扩展名处理等。

如果我通过DNS别名映射共享,我会得到相同的错误消息。这只是DNS别名的问题。如果我使用\主机名,一切都正常,但是一旦我使用\mydnsalias就会导致错误...所以我认为这不是caspol失败。 - Hans99
在这种情况下,ClickOnce 对我来说不是一个选择。 - Hans99

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接