【问题标题】:ClickOnce certificate expired - not signing manifestClickOnce 证书已过期 - 未签署清单
【发布时间】:2010-10-21 12:40:38
【问题描述】:

我有一个使用 ClickOnce 的分布式应用程序。我去进行更新并收到有关证书过期的错误。我注意到在签名选项卡上我可以取消选中对 ClickOnce 清单的签名。我这样做并成功发布了我的应用程序。对于前七个用户来说它工作得很好 - 但只是有一个用户变得可怕:

Manifest XML signature is not valid.

+ No signature was present in the subject.

在接下来的 24 小时内,我将有几十个用户尝试。我祈祷我没有大问题。我已经阅读了大量关于 MS ClickOnce 和过期证书的问题/错误的阅读,我希望通过简单地不签名来避免它们。过期的证书只是最初设置 ClickOnce 时似乎创建的通用证书。从已签名的清单转到未签名的清单是否有问题?

遇到问题的用户甚至无法卸载并重新安装应用程序。我们已经尝试了我能想到的一切——包括删除他的User\Local Settings\Apps\2.0 文件夹。

另外,对于这个突然不能使用我们的应用程序的用户,我该怎么办?

【问题讨论】:

  • 感谢您的提问。几个月后我遇到了这个确切的问题,并且想知道同样的事情。期待一些好的答案。另外,您确定用户安装了正确版本的 .net 框架吗?有时我们会遇到奇怪的 clickonce 问题,并且重新安装框架似乎在很多时候都有效。
  • 好主意 - 如果解决了他的问题,我会要求他重新安装并报告

标签: .net vb.net visual-studio-2008 clickonce


【解决方案1】:

证书过期问题已在 .NET 2 的一个服务包中得到修复。安装最新的框架 (3.5 SP1) 肯定会包含该修复。您只需切换到更新的证书并重新部署即可。

如果真的想取消签名,我认为修复方法是相同的 - 确保您的用户拥有 .NET 3.5 SP1 并将其作为 ClickOnce 设置的先决条件。

【讨论】:

  • 不幸的是,只有当您让标准部署界面管理您的更新时,才能解决此问题。如果您使用内置 API,更新证书时会失败。
【解决方案2】:

makecert -sv MakarioUK.pvk -n "cn=MakarioUK" MakarioUK.cer -b 01/01/2011 -e 01/01/2050 -r

【讨论】:

    猜你喜欢
    • 2016-06-25
    • 1970-01-01
    • 2011-08-28
    • 2010-09-18
    • 2021-01-11
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多