如何避免“Windows Defender SmartScreen 阻止无法识别的应用程序启动警告”
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/48946680/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to avoid the "Windows Defender SmartScreen prevented an unrecognized app from starting warning"
提问by Andy
My company distributes an installer to customers via our website. Recently when I download via the website and try to run the installer I get the warning message:
我公司通过我们的网站向客户分发安装程序。最近,当我通过网站下载并尝试运行安装程序时,我收到警告消息:
Windows protected your PC
Windows Defender SmartScreen prevented an unrecognized app from starting. Running this app might put your PC at risk.
Windows 保护您的 PC
Windows Defender SmartScreen 阻止了无法识别的应用程序启动。运行此应用程序可能会使您的 PC 处于危险之中。
If I right-click on the installer and choose PropertiesI note the following:
如果我右键单击安装程序并选择“属性”,我会注意到以下内容:
Our installer is signed.
我们的安装程序已签名。
How do I find the reason for the Windows Defender SmartScreen warning?
如何找到 Windows Defender SmartScreen 警告的原因?
I have not managed to find any log file for Windows Defender nor found anything in the Event Viewer.
我没有找到 Windows Defender 的任何日志文件,也没有在事件查看器中找到任何内容。
采纳答案by Maxim Masiutin
If you have a standard code signing certificate, some time will be needed for your application to build trust. Microsoft affirms that an Extended Validation (EV) Code Signing Certificate allows to skip this period of trust building. According to Microsoft, extended validation certificates allow the developer to immediately establish reputation with SmartScreen. Otherwise, the users will see a warning like "Windows Defender Smartscreen prevented an unrecognized app from starting. Running this app might put your PC at risk.", with the two buttons: "Run anyway" and "Don't run".
如果您拥有标准的代码签名证书,则您的应用程序需要一些时间来建立信任。Microsoft 确认扩展验证 (EV) 代码签名证书允许跳过此信任建立阶段。 据微软称,扩展验证证书允许开发人员立即在 SmartScreen 中建立声誉。否则,用户将看到类似“Windows Defender Smartscreen 阻止无法识别的应用程序启动。运行此应用程序可能会使您的 PC 处于危险之中。”的警告,带有两个按钮:“仍然运行”和“不要运行”。
Another Microsoft resourcestates the following (quote): "Although not required, programs signed by an EV code signing certificate can immediately establish reputation with SmartScreen reputation services even if no prior reputation exists for that file or publisher. EV code signing certificates also have a unique identifier which makes it easier to maintain reputation across certificate renewals."
另一个 Microsoft 资源声明如下(引用):“虽然不是必需的,但由 EV 代码签名证书签名的程序可以立即在 SmartScreen 信誉服务中建立信誉,即使该文件或发布者不存在先前的信誉。EV 代码签名证书也具有唯一标识符,可以更轻松地在证书续订期间维护声誉。”
回答by jay thanki
After clicking on Properties of any installer(.exe) which block your application to install (Windows Defender SmartScreen prevented an unrecognized app ) for that issue i found one solution
单击阻止您的应用程序安装(Windows Defender SmartScreen 阻止无法识别的应用程序)的任何安装程序(.exe)的属性后,我找到了一个解决方案
- Right click on installer(.exe)
- Select properties option.
- Click on checkbox to check Unblockat the bottom of Properties.
- 右键单击安装程序(.exe)
- 选择属性选项。
- 单击复选框以选中“属性”底部的“取消阻止”。
This solution work for Heroku CLI(heroku-x64) installer(.exe)
此解决方案适用于Heroku CLI(heroku-x64) 安装程序 (.exe)
回答by Stein ?smul
UPDATE: Another writeup here: How to add publisher in Installshield 2018(might be better).
更新:这里的另一篇文章: 如何在 Installshield 2018 中添加发布者(可能会更好)。
I am not too well informed about this issue, but please see if this answer to another question tells you anything useful (and let us know so I can evolve a better answer here): How to pass the Windows Defender SmartScreen Protection?That question relates to BitRock - a non-MSI installer technology, but the overall issue seems to be the same.
我对这个问题不太了解,但请看看这个对另一个问题的回答是否告诉您任何有用的信息(并告诉我们,以便我可以在此处提出更好的答案):如何通过 Windows Defender SmartScreen 保护?该问题与 BitRock 有关 - 一种非 MSI 安装程序技术,但总体问题似乎相同。
Extract from one of the links pointed to in my answer above: "...a certificate just isn't enough anymore to gain trust... SmartScreen is reputation based, not unlike the way StackOverflow works... SmartScreen trusts installers that don't cause problems. Windows machines send telemetry back to Redmond about installed programs and how much trouble they cause. If you get enough thumbs-up then SmartScreen stops blocking your installer automatically. This takes time and lots of installs to get sufficient thumbs. There is no way to find out how far along you got."
从上面我的回答中指向的链接之一摘录:“......证书已经不足以获得信任...... SmartScreen 是基于声誉的,与 StackOverflow 的工作方式不同...... SmartScreen 信任不安装的安装程序不会引起问题。Windows 机器将遥测数据发送回 Redmond,了解已安装的程序及其造成的麻烦。如果您获得足够的赞许,那么 SmartScreen 将停止自动阻止您的安装程序。这需要时间和大量安装才能获得足够的赞许。有没有办法知道你走了多远。”
Honestly this is all news to me at this point, so do get back to us with any information you dig up yourself.
老实说,目前这对我来说都是新闻,所以请务必将您自己挖掘的任何信息反馈给我们。
The actual dialog text you have marked above definitely relates to the Zone.Identifier
alternate data stream with a value of 3
that is added to any file that is downloaded from the Internet (see linked answer above for more details).
您在上面标记的实际对话框文本肯定与Zone.Identifier
备用数据流相关,该值3
被添加到从 Internet 下载的任何文件中(有关更多详细信息,请参阅上面的链接答案)。
I was not able to mark this question as a duplicate of the previous one, since it doesn't have an accepted answer. Let's leave both question open for now? (one question is for MSI, one is for non-MSI).
我无法将此问题标记为上一个问题的副本,因为它没有公认的答案。让我们暂时将这两个问题保持开放?(一个是针对 MSI 的,一个是针对非 MSI 的)。