.net - Åbn fil - Sikkerhedsadvarsel

Indlæg af Hanne Mølgaard Plasc

Problem



OS: Vista Business 64-bit

Kodning: .NET og tredje part EXE

Problem: Sikkerhed


Jeg har downloadet curl.exe for at hjælpe mig med at indlæse produktinformation fra Amazon. Curl.exe er præ-kompileret og er IKKE en. NET app, så jeg har ikke det godt i at lave nogen ændringer i curl build.


På problemet.


Når jeg udfører CURL, får jeg denne dialog:


Siger: Åbn fil - Sikkerhedsadvarsel
Udgiveren kunne ikke verificeres. Er du sikker på, at du vil køre denne software?
Kør eller Annuller


Jeg får denne fejl, om jeg kører softwaren manuelt eller programatisk.


Når jeg bruger denne software manuelt, kan jeg klare dette, men jeg forsøger at automatisere en proces til at køre dette programatisk, så jeg vil undertrykke denne dialog.


Under undersøgelsen af ​​dette fik jeg meget information om tilpasninger til IE-indstillinger ... men jeg kører IKKE noget fra min browser, bare lancering exe i windows, så det er ikke et problem.


Jeg ser også masser af information om at tilføje forskellige domæner og servere til mine tilladte lister. Dette kører lokalt på min egen boks (C: \ curl.exe), så det er heller ikke et problem.


Jeg er administrator af boksen, jeg kører dette på.


Så meget lidt info derude om dette.


Programmeringsanvisninger:


Jeg kører denne fil dog. NET sådan:


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.


Så et alternativ, hvis jeg ikke kan ændre en indstilling i Windows for at tillade denne ikke-verificerede EXE uden en digital signatur, ville være en tilpasning til min procInfo, så jeg kunne undertrykke denne dialog, men jeg har ikke fundet det ...


Nogle ideer..?


Tak,
Tom

Bedste reference


Windows holder styr på, hvor binæret kom fra, så downloadede binære filer er stadig markeret som usikre, selvom de ikke kører fra browseren.


Fra filegenskaber til exe skal du klikke på 'Fjern blokering'.

Andre referencer 1


Jeg tror, ​​at IE vedhæfter en NTFS-stream, der hedder Zone.Identifier til exe-filer, som den downloader.


Du kan bekræfte dette ved at indtaste følgende ved en kommandoprompt:


more <exename.exe:Zone.Identifier


og det vil producere noget lignende


[ZoneTransfer]
ZoneId=3


Jeg ved ikke, hvordan man sletter en NTFS-strøm uden brug af hjælpeprogrammer, som jeg ikke vil anbefale her, som jeg ikke har brugt nogen. Du kan prøve at rydde det ved at lave en


echo . >exename.exe:Zone.Identifier


Eller bare kopier filen til et FAT-drev, og sluk derefter igen. (Endelig en brug til FAT-formaterede tommelfingre!)