2013-02-26 66 views
2

當試圖從C#Windows服務中運行7-Zip命令行.exe時,我的應用程序掛起時沒有發生錯誤。在下面的部分設置斷點表明,一旦我點擊Process.Start(p)就會發生掛起。我將相同的代碼放在Windows窗體應用程序中,並獲得了「打開文件 - 安全警告」消息框,指出發佈者無法驗證。在警告上單擊「運行」可使其繼續運行而不會出現任何問題。在取消選中「在打開此文件之前始終詢問」框以取消此警告之外有什麼辦法嗎?在運行7-Zip時抑制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(); 

感謝您的幫助。

+1

不可以。如果您可以輕鬆繞過它,它會使「安全警告」無用,不是嗎?在用戶不知道安全性的情況下,可以輕鬆繞過安全性。 – 2013-02-26 22:27:23

+0

7-Zip有一個.NET API,您可以使用它:http://www.7-zip.org/sdk.html – 2013-02-26 22:44:09

回答

3

在Windows資源管理器中右鍵點擊7z exe文件,文件屬性中應該有一個「解鎖」按鈕。點擊它,然後單擊應用程序,這應該停止它在您的計算機上,但不幸的是,它的窗口的一部分,現在從任何從互聯網上下載的exe文件,並沒有簽名。