如何从网络驱动器中获取在Delphi下运行的.NET程序集?

时间:2008-11-05 00:24:42

标签: .net delphi com interop permissions

我有一个Delphi 5可执行文件,通过免费的Delphi .NET代码调用.NET程序集,并且在大多数情况下,这非常有用。但是,我的应用程序的一个要求是我们的客户能够从网络共享和本地使用它。在我的测试机器上,我无法使其工作,我只是收到一条错误消息。 .NET代码将其权限设置为完整,但是Delphi似乎无法获取或解释某些错误。在本地驱动器上,应用程序和程序集完美地进行通信。

有谁能告诉我如何至少从这里收到错误消息?或者,如果可能,任何人都可以告诉我为什么我会这样得到错误?感谢。

4 个答案:

答案 0 :(得分:2)

您说您已授予代码完全权限,但您是否已将FullTrust分配给网络共享?在.NET中,网络共享是本地Intranet域的一部分,因此您会失去一些信任。运行像;

CasPol.exe -m -ag 1.2 -url file://\\ShawnFa-Srv/Tools/* FullTrust

有关详细信息,请参阅有关该主题的帖子Using CasPol to Fully Trust a Share

答案 1 :(得分:2)

更新到.NET 3.5 SP 1.本地Intranet上的文件与本地HDD之间的removes the distinction WRT代码访问安全性(包括2.0程序集)。

答案 2 :(得分:0)

是的,我已经完全信任该份额。这就是我所说的完全权限,我已经习惯于向非技术人员解释它。

答案 3 :(得分:0)

好的,我已经找到了重新访问CasPol和.NET Framework配置实用程序(实用程序)之间差异的答案,以及每种方法的工作原理。这可能有点长,因为我在这里为自己以及其他有相同问题的人输入它并且没有完成这个过程(就像我之前没有完成的那样)。

当我第一次尝试使用CasPol,然后是实用程序时,我没有意识到我需要将新记录输入现有的“区域”部分并尝试将其作为主要“所有代码”下的新部分输入“ 部分。将其移至Intranet区域可让代码运行。

我尝试过安装.NET Framework 3.5的另一个地方失败,因为我错过了我没有安装SP1。将SP1安装到测试计算机也解决了问题。我的老板决定使用这种方法,因为它最大限度地减少了我们与客户之间的互动。

感谢你们两位的帮助。我很感激时间。