【问题标题】:Microsoft SmartScreen - suspended using Inno Setup installer?Microsoft SmartScreen - 使用 Inno Setup 安装程序暂停?
【发布时间】:2015-05-18 00:56:21
【问题描述】:

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

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

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

在这里你可以找到输出,它在 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),我已完成以下操作:

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

  2. 我对@9​​87654330@进行了代码签名并上传到我的同一台服务器

  3. 我用 Internet Explorer 下载了同一个文件,它没有显示 SmartScreen 就可以工作。

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

【问题讨论】:

    标签: windows inno-setup code-signing smartscreen


    【解决方案1】:

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

    这是一个非常烦人的功能,因为每次发布软件时,您都需要等待适当的时间,直到该软件变得“流行”并且被认为是安全的(没有证书或防病毒方法可以解决它)。

    【讨论】:

    • 我已经等了 2 周了。这不是正常的等待时间 + 我已经提到当我使用不是由 innosetup 制作的 slappy.exe 并应用代码签名时它可以工作。所以它仍然没有告诉我“喜欢”=下载
    【解决方案2】:

    如今,您必须使用 EV 代码签名证书。
    Transferring Microsoft SmartScreen reputation to renewed certificate

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


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

    引用SignTool directive documentation:

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


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

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

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

    然后在SignTool 指令中使用sign.bat 而不是signtool.exe

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

    【讨论】:

      【解决方案3】:

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

      @slappy 说的是正确的:

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

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

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

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

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

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-29
        • 2011-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多