从共享文件夹中调用.NET控制台应用程序时禁用“无法验证发布者”

时间:2011-11-29 09:20:08

标签: c# .net-4.0 process

我正在尝试使用方法Process.Start从共享网络文件夹运行.NET控制台应用程序。

每次控制台应用程序启动时,我都会收到消息“发布者无法验证”,Windows会要求用户确认。如何禁用此对话框?我不想买数字证书。

1 个答案:

答案 0 :(得分:6)

使用“Process.Start”

时,在.net应用程序中

使用功能Process.StartInfo.UseShellExecute = false。

所以......

Process proc = new Process(); proc.StartInfo.UseShellExecute = false;

它的作用是它允许您直接启动EXES(并且只有exes)而不使用Explorer(shell)。 这将绕过任何IE安全区检查。默认情况下,资源管理器包含IEZone检查,因此会  如果您运行的应用程序不受“信任”(特别是在受信任区域中),则会向您发出安全警告。

现在,如果要启动“PDF”,则不能使用“false”。这仅适用于Exes。

最后一点信息:

http://technet.microsoft.com/en-us/library/bb457006.aspx

http://technet.microsoft.com/en-us/library/dd349795(WS.10).aspx

MS代表刚刚提供给我的这些信息可能提供了一种通过使用软件限制策略来信任签名应用程序的发布者的方法。我还没有考虑过这个问题,但是对于那些需要继续进行此操作的人来说......这看起来像是解决第(1)部分的另一种方式。