打开文件 - 安全警告

tla*_*lle 1 .net windows security

操作系统: Vista Business 64-BIT
编码: .NET和第三方EXE
问题: 安全性

我已经下载了curl.exe来帮助我从亚马逊加载产品信息.Curl.exe已经过预编译,不是.NET应用程序,因此我对使用curl构建进行任何更改感到不舒服.

关于这个问题.

当我执行CURL时,我得到这个对话框:

说: 打开文件 - 安全警告无法验证发布者.您确定要运行此软件吗?运行或取消

无论是手动还是以编程方式运行软件,都会出现此错误.

当我手动使用这个软件时,我可以处理这个问题,但我正在尝试自动化一个以编程方式运行它的进程,所以我想要禁止这个对话框.

在研究这个时,我得到了很多关于IE设置调整的信息...但是我没有从我的浏览器运行任何东西,只是在windows中启动exe,所以这不是问题.

我还看到很多关于将不同域和服务器添加到允许列表的信息.这是在我自己的盒子(C:\ curl.exe)上本地运行,所以这也不是问题.

我是我正在运行此框的管理员.

所以关于这一点的信息非常少.

编程说明:

我通过.NET运行这个文件,如下所示:

string cmd = string.Empty;

cmd += @"--location --user username:userpass -C - ";
cmd += @"--digest -k https://assoc-datafeeds-na.amazon.com/datafeed/getFeed?filename=";
cmd += FeedName + ".gz ";
cmd += @"-o " + FeedFileFolder + FeedName + ".gz";

System.Diagnostics.Process proc; // Declare New Process
System.Diagnostics.ProcessStartInfo procInfo = new System.Diagnostics.ProcessStartInfo(); 

procInfo.UseShellExecute = true;  //If this is false, only .exe's can be run.
procInfo.WorkingDirectory = "C:"; //execute notepad from the C: Drive
procInfo.FileName = "curl.exe"; // Program or Command to Execute.
procInfo.Arguments = cmd; //Command line arguments.
Run Code Online (Sandbox Code Playgroud)

因此,如果我无法在Windows中更改设置以允许此未经验证的EXE而不使用数字签名,则可以调整我的procInfo以允许我禁止此对话框,但我还没有找到它...

有任何想法吗..?

谢谢,汤姆

Chr*_*cke 7

我相信IE会将名为Zone.Identifier的NTFS流附加到它下载的exe文件中.

您可以通过在命令提示符处键入以下内容来验证这一点:

more <exename.exe:Zone.Identifier
Run Code Online (Sandbox Code Playgroud)

它会输出类似的东西

[ZoneTransfer]
ZoneId=3
Run Code Online (Sandbox Code Playgroud)

我不知道如何在不使用实用软件的情况下删除NTFS流,我不打算在这里推荐,因为我没有使用过.你可以尝试通过做一个清除它

echo . >exename.exe:Zone.Identifier
Run Code Online (Sandbox Code Playgroud)

或者只是将文件复制到FAT驱动器上,然后再关闭.(最后,用于FAT格式的拇指杆!)