为什么我突然得到"不常下载" ClickOnce部署后Chrome中的警告?

时间:2015-01-27 00:43:27

标签: google-chrome dll telerik clickonce code-signing-certificate

将ClickOnce应用程序中的Telerik升级到版本2014.3.1202.40。 (永远不确定最好的方法。安装后,我对Telerik控件的所有引用都被破坏了,我不得不删除每个项目中的所有Telerik引用并重新添加它们。所以,我可能正在升级这是另一回事。但

我将我的应用部署到我的Web服务器上的暂存文件夹,然后再转到生产环境。该应用程序使用Comodo的商业代码签名证书进行签名,该证书在2019年之前到期。我已多次上传新版本,没有任何问题。但是现在,自从我升级Telerik控件后,我无法下载并安装应用程序。这里发生了什么:

  1. 在Chrome中,我输入了网址:http://porpoiseanalytics.com/PorpoiseStaging/setup.exe
  2. 我得到了#34;不常下载"警告我从来没有得到过。我在Firefox和IE上都没有任何错误。
  3. 如果我告诉Chrome保留文件,我可以启动它。安装也从所有其他浏览器开始。
  4. 大约3/4的文件下载方式,Avast使用DRep病毒阻止它(我猜测缺乏声誉)。如果我关闭Avast,安装就好了。 ClickOnce安装日志显示错误:"从文件[application] .exe加载清单时发生异常:清单可能无效或文件无法打开。"
  5. 为什么我的应用程序在没有任何问题的情况下被下载数月后突然表现得没有声誉。但是,在我修改VS2010中的应用程序然后删除并重新添加Telerik dll之后,我突然没有声誉。更糟糕的是,现在位于tpp://porpoiseanalytics.com/PorpoiseDownload/setup.exe的生产下载突然以同样的方式运行。

    我承认我对声誉,签名和点击都没有足够的理解。但我确实知道,在我们处于良好状态之前,在部署应用程序之后,我们将其标记为恶意软件。我在程序中做了一些代码更改(并不多),但我也替换了Telerik dll。可能与签名和发布有关,但我无法弄明白。请帮忙。感谢。

2 个答案:

答案 0 :(得分:3)

我想我明白了。虽然我已在主UI项目(安装程序)中签署了清单,但可执行文件未签名。在一些帮助下,学会了如何做到这一点:

  1. 使用signtool下载Windows 7 SDK。
  2. 在Visual Studio中,在主UI项目中打开项目属性。
  3. 打开“编译”选项卡,然后单击“构建事件”按钮。
  4. 在构建后的事件中,输入:

    “C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ signtool.exe”sign / f“$(ProjectDir) [代码证书文件的名称] “/ p” [密码] “/ t http://timestamp.comodoca.com/authenticode”$(ProjectDir)obj \ $(ConfigurationName)\ [exe name] .exe

    其中 [证书文件的名称] 是代码签名证书文件的名称,例如private_key.pfk, [密码] 是使用时的密码导出证书(如果%包含在密码中,则使用%%转义它,因此传递%word将作为传递%% word输入), [exe name] 是主项目的名称可执行文件。

  5. 在解决方案中的其他项目中,通过在相同的构建后位置插入类似的命令行来签名:

    "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /f "$(ProjectDir)DAD_Code_Certificate.pfx" /p "<password>" /t http://timestamp.comodoca.com/authenticode "$(TargetPath)
    

    原始问题

    我的理论是,最初的问题是由于Avast 2015中的一项新功能进行了DomainRep(信誉?)检查,如果满足几个条件,则会发出警报响铃并停止下载。因为我的可执行文件没有签名,所以它符合所有要求。

    有可能(虽然我真的不确定)因为这个DRep警报,谷歌将我们网站上的安装程序标记为恶意,导致第一次开始下载时出现红色“未正常下载”的警告。

    至少,这是我最好的猜测。其他人肯定会比我更了解这一点(并且首先通过签署可执行文件来避免它)。

答案 1 :(得分:1)

Google Apps技术支持的官方回答(我在Silver支持计划 - 每月150美元):

  

我复制了你所描述的问题,它看起来是众所周知的   尝试下载存档时,谷歌浏览器存在问题   其中的可执行文件。

     

请注意,Google Chrome不在支持范围内   谷歌云,但解决方法相当简单:当时   出现消息,您可以单击右侧的箭头   消息并选择“保持”。这将下载所请求的文件。