我公司通过我们的网站向客户分发安装程序。最近,当我通过网站下载并尝试运行安装程序时,收到警告消息:
如果我右键单击安装程序并选择“属性”,请注意以下几点:
我们的安装程序已签名。
如何找到Windows Defender SmartScreen警告的原因?
我没有找到Windows Defender的任何日志文件,也没有在事件查看器中找到任何东西。
最佳答案
如果您具有标准的代码签名证书,则需要一些时间来使您的应用程序建立信任。 Microsoft确认扩展验证(EV)代码签名证书使我们可以跳过此信任建立阶段。 According to Microsoft,扩展的验证证书使开发人员可以立即在SmartScreen中建立声誉。否则,用户将看到两个警告,例如“Windows Defender SmartScreen阻止无法识别的应用程序启动。运行此应用程序可能会使您的PC处于危险之中。”,并带有两个按钮:“仍然运行”和“不运行”。
Another Microsoft resource声明以下内容(引号):“尽管不是必需的,但即使没有该文件或发布者的先前信誉,由EV代码签名证书签名的程序也可以立即建立SmartScreen信誉服务的信誉。EV代码签名证书也具有唯一性。标识符,可以更轻松地在证书续订中维护声誉。”
我的经验如下。自2005年以来,我们一直使用常规(非EV)代码签名证书来对带有时间戳的.MSI,.EXE和.DLL文件进行签名,直到2018年SmartScreen才出现问题,当时只有一种情况自从我们将其发布给Beta测试人员以来,我们的Beta版应用程序花了3天时间建立信任,并且该过程处于证书有效期的中间。我不知道在该应用程序的特定版本中SmartScreen可能不喜欢什么,但是此后就没有SmartScreen的投诉。因此,如果您的证书不是非EV,则它是经过签名的应用程序(例如.MSI文件),它将随着时间的推移建立信任关系,而不是证书。例如,可以在几个月前颁发证书并用于对许多文件进行签名,但是对于您发布的每个签名文件,SmartScreen可能需要几天的时间才能在发布后停止提示该文件,就像我们在本例中那样。 2018。
结论是,要完全避免警告,即防止警告突然发生,您需要扩展验证(EV)代码签名证书。