ClickOnce的prerequisite组件安装报错

错误:

 

使用ClickOnce发布后,运行prerequisite的组件下载安装时发生了下面的错误:

 

Error: Setup has detected that the publisher of file '***.exe' cannot be verified. See the setup log file located at 'C:/DOCUME~1/~/LOCALS~1/Temp/****/install.log' for more information.

 

中文报错信息: 安装程序检测到无法验证文件“***.exe”的发行者。

 

其中install.log显示:

 

Verifying file integrity of C:/DOCUME~1/~/CONFIG~1/Temp/****/***.exe

WinVerifyTrust returned -2146762751

 

 

原因:

 

出现这个问题的原因是因为ClickOnce的安全机制要求安装程序必须通过它的验证。

ClickOnce调用 WinVerifyTrust() API 来验证 Authenticode 签名可执行文件。 

 

除了验证签名,程序可能还执行以下:

  1. 确定可执行文件的签名的证书的详细信息。
  2. 确定日期和时间,文件已标记的时间。
  3. 检索与文件相关联的 URL 链接。
  4. 检索时间戳的证书。

参见:http://support.microsoft.com/default.aspx/kb/323809

 

 

所以很有可能是因为安装文件的数字签名没有通过验证。出现这个原因很有可能是因为数据下载过程中丢失,数据的不完整会导致数字签名无效。

你可以通过右键-属性-数字签名-详细信息 来查看该数字签名是否正常.

 

解决办法:


对于发布者来说,发布前要保证数据的完整性。

对于客户端来说,尽量在网速快速、稳定的地点进行再下载一次。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值