9

我总是使用 Inno Setup 进行打包和发布。用户使用链接下载应用程序,例如:https ://oursite.com/codesign/mysetup.exe

直到现在,它总是有效的。但最近我必须更新我的代码签名证书,因为它已过期。更新后我遇到了 SmartScreen 问题,每个用户都下载了应用程序并获得了这个以前没有的 Smartscreen。

在此处输入图像描述

我用过signtool.exe verify /pa innosetup-made-myexe.exe,它显示成功,我也用 完成了验证Windows Application Certification Kit,表明它是通过的,但是有警告,所有这些警告主要是由 Inno Setup 生成的。

在此处输入图像描述 在此处输入图像描述

在这里你可以找到输出,它在 Inno Setup exe 上显示 WARNINGS:

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),我已完成以下操作:

  1. 从微软,我下载了winqual.exe不需要 Inno Setup 的文件 call 。

  2. 我对代码签名winqual.exe并上传到我的同一台服务器

  3. 我用 Internet Explorer 下载了相同的文件,它在没有显示 SmartScreen 的情况下工作。

如果 Inno Setup 是此问题的主要原因,现在是否有意义?

4

3 回答 3

2

如今,您必须使用 EV 代码签名证书。
请参阅将 Microsoft SmartScreen 信誉转移到续订证书

以下是原始答案,它解决了问题的一些细节。


如果您认为问题是由未签名的卸载程序引起的,请确保您相应地设置了SignToolInno Setup 项目的指令。并确保SignedUninstaller指令具有其默认值yes

引用SignTool指令文档

指定用于对安装程序进行数字签名的签名工具的名称和参数(如果 SignedUninstaller 设置为 ,则指定卸载yes)。当安装程序具有有效的数字签名时,用户在启动它时不会看到“未识别的程序”警告。


如果您想为卸载程序设置 NXCOMPAT 和 DYNAMICBASE 标志,您可以创建一个sign.bat批处理文件,它同时调用signtool.exeeditbin.exe

@echo off
editbin.exe /NXCOMPAT /DYNAMICBASE %1
signtool.exe sign ... %1

调用必须按此顺序进行,否则会editbin.exe破坏签名。

然后在指令中使用sign.bat而不是。signtool.exeSignTool

虽然我真的不认为这是必要的,也没有任何帮助。

于 2015-03-16T08:34:18.367 回答
1

我认为这是正常的行为。当您的软件收集到足够的“赞”= 下载或安装时,SmrtScreen 将自动关闭此消息。

这确实是一个令人讨厌的功能,因为对于每个软件版本,您都需要等待适当的时间,而该软件变得“流行”并且被认为是安全的(没有证书或防病毒方法可以解决它)。

于 2015-03-16T05:14:27.507 回答
0

您不需要此“Windows 应用程序认证工具包”。

@slappy 说的是正确的:

更新证书后,您需要足够的下载量和“好评”才能让此消息消失。

您需要做的是使用 Microsoft Edge(不是 Chrome 或 Firefox !!!)下载您的应用程序。

它很可能会说“此下载可能很危险并且已被阻止”。

然后您可以选择“仍然保留”。然后您可以选择“报告为安全”。

然后甚至 Smart Screen 都说它不信任您的应用程序(即使它是经过数字签名的,哈哈!!!!),那么您必须选择“更多...”和“仍然安装”。

将它安装在您的计算机上!我认为这很重要。

我使用了 5 台不同的计算机,并多次报告我的应用程序是安全的并安装了它。

我还问了 2 个朋友(因为他们的 IP 地址不同)也这样做。

我非常讨厌这个!!!!!!!!!!1天后,错误消息消失了。

于 2021-07-25T23:17:13.377 回答