[英]Microsoft SmartScreen - suspended using Inno Setup installer?
我总是使用 Inno Setup 进行打包和发布。 用户使用链接下载应用程序,例如: https : //oursite.com/codesigned/mysetup.exe
直到现在,它一直有效。 但最近我必须更新我的代码签名证书,因为它已过期。 更新后我遇到了 SmartScreen 问题,每个用户都下载了应用程序并获得了以前没有的 Smartscreen。
我已经使用了signtool.exe verify /pa innosetup-made-myexe.exe
并且它显示成功,我也使用Windows Application Certification Kit
完成了验证,这表明它已通过,但是带有警告,所有这些警告主要由 Inno 生成设置。
在这里你可以找到输出,它在 Inno Setup exes 上显示警告:
https://docs.google.com/document/d/11frW_GxI0xSVcrAXh4_rqcKBQSaermAlpYKj4xzQi4o/pub
我该如何解决这个问题?
(仍然不确定它的标准代码签名与 EV 代码签名问题?我已经使用标准代码签名几年了,它总是有效。我可以升级到 EV 代码签名,但我如何确保它不是 Inno Setup 编译器问题?如您所见,警告已显示在上面 Inno Setup 的 URL 中)
为了验证它是否是 Inno Setup 或代码签名问题(参见https://stackoverflow.com/a/29067585/285594 ),我做了以下工作:
我从 Microsoft 下载了不需要 Inno Setup 的文件调用winqual.exe
。
我对winqual.exe
代码签名并上传到我的同一台服务器
我用 Internet Explorer 下载了相同的文件,它在不显示 SmartScreen 的情况下工作。
如果 Inno Setup 是导致此问题的主要原因,现在是否有意义?
如今,您必须使用 EV 代码签名证书。
请参阅将 Microsoft SmartScreen 信誉转移到续订的证书。
以下是原始答案,它解决了问题的一些细节。
如果您认为问题是由于未签名的卸载程序引起的,请确保相应地设置 Inno Setup 项目的SignTool
指令。 并确保SignedUninstaller
指令具有其默认值yes
。
引用SignTool
指令文档:
指定用于对安装程序进行数字签名的签名工具的名称和参数(如果 SignedUninstaller 设置为
yes
则为 Uninstall )。 当安装程序具有有效的数字签名时,用户在启动它时不会看到“无法识别的程序”警告。
如果您想为卸载程序设置 NXCOMPAT 和 DYNAMICBASE 标志,您可以创建一个同时调用signtool.exe
和editbin.exe
的sign.bat
批处理文件:
@echo off
editbin.exe /NXCOMPAT /DYNAMICBASE %1
signtool.exe sign ... %1
调用必须按此顺序进行,否则editbin.exe
会破坏签名。
然后在SignTool
指令中使用sign.bat
而不是signtool.exe
。
虽然我真的不认为这是必要的,也没有任何帮助。
我认为这是正常的行为。 当您的软件收集到足够多的“喜欢”= 下载或安装时,SmrtScreen 将自动关闭此消息。
这确实是一个令人讨厌的功能,因为对于每个软件版本,您都需要等待适当的时间,直到软件变得“流行”并且它被认为是安全的(没有证书或防病毒方法可以解决它)。
您不需要这个“Windows 应用程序认证工具包”。
@slappy 说的是正确的:
续订证书后,在此消息消失之前,您需要足够的下载和“好评”。
您需要做的是使用 Microsoft Edge(不是 Chrome 或 Firefox !!!)下载您的应用程序。
它很可能会说“此下载可能有危险并已被阻止”。
然后您可以选择“始终保留”。 然后您可以选择“报告为安全”。
然后即使 Smart Screen 说它不信任你的应用程序(即使它是数字签名的,大声笑!!!),那么你必须选择“更多...”和“无论如何安装”。
安装在你的电脑上! 我认为这很重要。
我使用了 5 台不同的计算机并多次报告我的应用程序是安全的并安装了它。
我也问过 2 个朋友(因为他们的 IP 地址不同)做同样的事情。
我非常讨厌这个!!!!!!!!!! 1 天后,错误消息消失了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.