【发布时间】:2013-02-26 22:18:35
【问题描述】:
当尝试从 C# Windows 服务中运行 7-Zip 命令行 .exe 时,我的应用程序挂起而没有引发错误。在下面的部分设置断点表明,一旦我点击 Process.Start(p),就会发生挂起。我将相同的代码放在 Windows 窗体应用程序中,并得到“打开文件 - 安全警告”消息框,指出无法验证发布者。单击警告上的“运行”会导致它继续进行而没有任何问题。除了取消选中“在打开此文件之前始终询问”框之外,还有其他方法可以禁止显示此警告吗?
我的代码如下:
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "7za.exe";
p.Arguments = "a -tzip \"" + targetName + "\" \"" + sourceName + "\" -mx=9";
p.WindowStyle = ProcessWindowStyle.Hidden;
Process x = new Process();
x = Process.Start(p);
x.WaitForExit();
提前感谢您的帮助。
【问题讨论】:
-
没有。如果您可以轻松绕过它,它将使“安全警告”无用,不是吗?可以在用户不知道它不是安全的情况下轻松绕过的安全性。
-
7-Zip 有一个您可以使用的 .NET API:7-zip.org/sdk.html
标签: c# command-line 7zip processstartinfo