Microsoft SmartScreen-是否已使用Inno Setup安装程序暂停?

问题描述 投票:4回答:2

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

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

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9YdTB3Wi5qcGcifQ==” alt =“在此处输入图像描述”>

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

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9uYzBzNy5wbmcifQ==” alt =“在此处输入图像描述”>“在此处输入图像描述”

在这里您可以找到输出,在Inno Setup exe上显示警告的位置:

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. [从Microsoft,我已经下载了文件调用winqual.exe,它不需要Inno设置。

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

  3. [我使用Internet Explorer下载了相同的文件,但在没有向我显示SmartScreen的情况下仍然有效。

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

windows inno-setup code-signing smartscreen
2个回答
1
投票

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

引用http://www.jrsoftware.org/ishelp/index.php?topic=setup_signtool

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


如果要为卸载程序设置NXCOMPAT和DYNAMICBASE标志,则可以创建一个同时调用sign.batsigntool.exeeditbin.exe批处理文件:

editbin.exe

呼叫必须按此顺序进行,否则@echo off editbin.exe /NXCOMPAT /DYNAMICBASE %1 signtool.exe sign ... %1 会破坏签名。

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

尽管我并不真正认为这是必要的,也无济于事。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.