我试图防止我的应用程序(安装程序)不会被 Windows SmartScreen Protection 阻止。
我使用 BitRock 并手动签署了我的安装程序,但我总是遇到这个问题。我购买了有效的证书,并且使用时间戳进行签名是可以的。
这是一个商业应用程序,我不希望用户害怕安装它
最佳答案
更新:MSI 安装程序存在类似问题:How to avoid the Windows Defender SmartScreen prevented an unrecognized app from starting warning?
较早的讨论(推荐):How to pass the smart screen on Win8 when install a signed application?
这里还有另一篇文章: How to add publisher in Installshield 2018 (可能更好)。
<小时/>评论太长了。这是一个EXE文件?我想到了几件事,尽管我怀疑它们能否解决问题 - 但这是一个开始的地方。
顺便说一句:我假设您已经联系过 BitRock support ? (Installbuilder)。
误报和被阻止的文件
您是否已将 EXE 安装程序上传到 virustotal.com 进行检查?确定它是否被标记为已知的不安全文件? (无论出于何种原因)- virustotal.com针对您上传的二进制文件运行 60 多个安全软件扫描程序。
我肯定会尝试这个来验证。据我所知,BitRock 安装程序文件通常被标记为不安全。
这种“误报”可能是一个非常严重的部署问题,因为安全软件会阻止您的安装 - 每个安全软件本身就是一个问题,有时您不知道从哪里开始解决它- 你联系谁?首先是 BitRock - 但这可能不是问题所在。
超越 EXE 安装程序和 check your running app for false positives, you can try this approach using Process Explorer来自Sysinternals 。首先安装您的应用程序,然后按照所述启动 Process Explorer,并根据 virustotal.com 检查所有正在运行的二进制文件。 .
从 Internet 下载安装程序后,当您尝试运行该安装程序时,是否会显示此对话框?或者它是否直接从本地构建的文件中发生?
- 从互联网下载时,文件将具有备用数据流
Zone.Identifier
,其值为3
,表明该文件是从互联网下载的。这会触发安全警告。 - 您可以删除此信息流。您可以使用 Powershell 或转到文件的属性页来取消阻止该文件:
Powershell
:Unblock-File .- 在
Windows 资源管理器
中:右键单击该文件,转到属性
并删除阻止(朝向对话框底部)。我认为这个对话框在不同的 Windows 版本中略有不同。有时是取消阻止
按钮,有时是需要选中的复选框,然后点击确定
或应用
。
- 从互联网下载时,文件将具有备用数据流
这两个建议都不太可能解决您的问题,但请发表评论,并让我们在获得更多信息后尝试“改进”此答案。
一些链接:
- How to pass the smart screen on Win8 when install a signed application?
- Will signing an executable prevent SmartScreen from warning the user?
- How can I stop my installer from triggering Windows 10's "This app has been blocked for your protection" error?
- This particular answer recommended as worth a read (光有证书还不够,还需要声誉)。
关于c++ - 如何通过Windows Defender SmartScreen保护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48806909/