2011-07-11 63 views
1

在我的一個應用程序中,我需要從DLL中提取資源。我通過使用免費軟件工具的命令行版本,我發現here以編程方式禁止Windows警報

它工作正常,但我看到的問題是,由於免費軟件工具沒有數字簽名,每次我從我的應用程序調用它時,Windows都會報警'您確定要運行此程序等。'。

有反正我可以抑制這個警報?我沒有做任何特殊的調用應用程序,我的代碼如下。

ProcessStartInfo pInfo = new ProcessStartInfo(); 
pInfo.FileName = "ResourcesExtract.exe"; 
pInfo.CreateNoWindow = true; 
pInfo.Arguments = "/Source " + "\"" + filePath + "\"" + " /DestFolder " + "\"" + outputDirectory + "\""; 

Process extractProcess = new Process(); 
extractProcess.StartInfo = pInfo; 

extractProcess.Start(); 
extractProcess.WaitForExit(); 

任何有關如何禁用此警報或替代此解決方案的幫助或想法,將不勝感激。

謝謝。

+2

能夠以編程方式抑制這些類型的消息對我來說似乎是一種安全風險;我希望Windows不允許這樣做!我認爲你的最佳途徑是改變可執行文件本身的設置。喬伊的建議似乎應該起作用。 –

回答

6

我猜你從網上下載了某個工具。

只需從文件中刪除Zone.Identifier ADS或進入屬性,然後單擊»取消阻止«。

+0

感謝喬伊 - 這似乎很好。這個.exe與我的應用程序一起打包 - 如果我將它重新分發給其他用戶,確保它始終暢通無阻嗎?這是一個內部工程工具。 –

+0

請勿將其直接或以不可信任的來源(即用於IE的Internet區段或網絡共享)從Zip文件中分發(因爲屬性被複制到從Zip文件中提取的文件中)。另一種選擇是將您下載的網站添加到「受信任的站點」列表中,如果它是全部內部的,則可以使用組策略輕鬆完成。 – Joey

相關問題