2011-07-11 65 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

相关问题