我总是使用 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 或代码签名问题(参见/sf/answers/2034730981/),我做了以下工作:
我从微软下载了winqual.exe不需要 Inno Setup的文件调用。
我代码签名winqual.exe并上传到我的同一台服务器
我用 Internet Explorer 下载了相同的文件,它在不显示 SmartScreen 的情况下工作。
如果 Inno Setup 是导致此问题的主要原因,现在是否有意义?
我试图防止我的应用程序(安装程序)不会被Windows SmartScreen Protection阻止。
我使用 BitRock 并手动签署了我的安装程序,但我总是遇到这个问题。我购买了一个有效的证书,并且带有时间戳的签名是可以的。
这是一个商业应用程序,我不希望用户害怕安装它
我计划使用代码签名证书对我的软件之一进行签名,因为当用户下载该软件以尝试运行它时,Windows 10将显示全屏警告,警告说这可能很危险。
该证书非常昂贵,并且EV证书保证它们会立即摆脱警告,但不是以一种直接的方式,我不能真正信任它们。
所以我的问题是,在我购买标准证书并签署代码后,Windows停止显示警告需要多长时间?为了使过程更快,我到底需要做什么?
谢谢。
code-signing code-signing-certificate windows-10 smartscreen
所以我收到了Comodo的证书并通过KSoftware购买了我用来签署我的软件,所以当用户下载它时它不会产生警告,这一直工作正常,但是2年的证书在上个月到期了.我上周购买了一个新证书,并申请了我的应用程序的新版本,但现在当我下载它时警告我未知的发布者,并且当我点击更多信息时它显示我的完整地址而不仅仅是我的公司名称JThink.
我已经在浏览器中看着我的新老证书,并发现我有Jthink有限公司在旧证书和 JThink在新的一个,这会导致一个问题?
更新
Comodo告诉我,在微软开始接受新证书之前还有一段时间,即使公司信息相同也是如此,因为证书没有不同.
这是真的,我们在这里讨论的时间长度是多少?
Microsoft SmartScreen,以其消息而闻名:
Windows Defender SmartScreen 阻止无法识别的应用程序启动
对于最终用户避免恶意软件很有用,但也会伤害独立开发人员,因为当他们分发二进制文件时:最终用户会看到可怕的消息,这对开发人员的声誉来说是一个问题(请参阅某人的评论“我的客户经常认为我正在提供病毒、恶意软件或非法内容,他们告诉他们的朋友,我就失去了销售”):
尽管我签署了可执行文件,智能屏幕过滤器仍然抱怨,为什么?
即使使用付费证书,如果software-release1.0.1.exe最终被列入白名单,当您发布software-release1.0.2.exe更新时,消息将再次出现:
正在将 Microsoft SmartScreen 信誉转移到更新的证书
唯一的解决方案似乎是扩展“EV 代码签名”,每年可能需要 300-500 美元(这种固定费用使得小型独立开发商的税率更高)。
问题:有没有办法通过将 .exe 提交给 Microsoft 进行分析来立即(或几天)为所有用户(而不仅仅是在我自己的计算机上)将其列入白名单?
我看过这个链接: https: //www.microsoft.com/en-us/wdsi/filesubmission,有人能够成功使用它来避免进一步的 SmartScreen 警报吗?(好像没有)。
还有其他方法吗?比如通过自动化脚本自动部署100个虚拟机,并让每个虚拟机自动下载安装.exe?但这可能来自同一个IP,那么微软可能会将声誉计数器增加+1而不是+100?
我创建了一个 exe 并使用 Inno Setup Compiler (v6.0.5) 编译它。我已设置AppPublisher为“MyCompany Ltd”。但是,每当我在与我创建它的计算机不同的计算机上运行它时,就会出现一个弹出窗口,询问我是否要“来自未知发布者”运行该程序。此外,当我将其添加到两台计算机上的启动时,都没有在任务管理器的启动选项卡上显示发布者。
那么,如何正确指定发布者呢?如果我这样做,这会阻止弹出窗口出现吗?因为我希望它在启动时运行,所以每次启动计算机时都有一个漂亮的大弹出窗口并不是那么好。
任何帮助表示赞赏!提前致谢。
我想从智能屏幕设备上运行的其他操作的外观中学习.所以我想找到经过优化的操作,以便与智能屏幕设备配合使用.
有没有办法以某种方式搜索https://assistant.google.com/explore这些类型的操作?
从codeplex下载我的免费软件应用程序的用户在Win 8中获得SmartScreen警报:
"Windows SmartScreen阻止了未经识别的应用程序启动.运行此应用程序可能会使您的PC面临风险."
你必须知道点击"更多信息"和"无论如何运行"按钮来执行它.
我认为它刚刚开始发生,所以不确定是什么造成的.也许最近的Windows更新.为了对抗这个屏幕,我用数字签名签署了我的EXE,这意味着MS将开始使用它来获取我的应用程序的声誉分数.
问题是,有什么方法可以看到这个应用程序的声誉得分和建议还有什么可以改进?
我不确定大多数用户是否知道点击更多信息链接以便能够"无论如何运行",最后只是在下载后不使用我的应用程序.
我正在使用标准(即不是 EV)Authenticode 代码签名证书来签署 Windows 桌面应用程序,希望 Smartscreen 过滤器最终会停止阻止它。
我希望对应用程序进行认证,但由于我的代码签名证书是由 GoDaddy 颁发的,因此我似乎无法做到这一点,因为您需要来自Symantec、Entrust、GlobalSign、WoSign 或 Digicert 的证书才能创建 Windows 认证仪表板帐户(认证过程的第一步)。
所以这是我的问题:使用标准 GoDaddy SHA-2 代码签名证书签名的非认证 Windows 应用程序是否仍会积累声誉?
因此,我们的应用程序安装程序由我们的新证书(标准 [非 EV])签名。SmartScreen 显示发布者正确,但应用程序仍然不受信任。所以问题在于应用程序声誉。
有什么方法可以建立声誉吗?
在一些旧主题中,我发现您可以使用 Windows 应用程序认证工具包 (WACK) 生成 XML 文件并将其上传到https://sysdev.microsoft.com 的信息,几天后 SmartScreen 将知道数字签名。但它似乎不再起作用,目前您需要拥有赛门铁克代码签名证书。
我已经创建了setup.exe文件,并将其加载到我的网站上以进行下载。该.exe文件已使用Godaddy的证书进行了代码签名。使用win7从我的网站下载.exe文件时,它将检测到证书并将其显示为安全下载。在win10上,.exe文件下载正常,但在打开.exe时,智能屏幕会阻止其打开。我有许多用户使用win10,并且不想向他们解释如何关闭智能屏幕。我可以通过Win10 smarscreen获得这个.exe的选择?
smartscreen ×11
windows ×7
code-signing ×5
certificate ×2
inno-setup ×2
installation ×2
security ×2
windows-10 ×2
.net ×1
antivirus ×1
authenticode ×1
c++ ×1
codeplex ×1
msdn ×1