ClickOnce证书已过期 - 未签名清单

8
我有一个使用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 framework 吗?有时我们会遇到一些奇怪的 ClickOnce 问题,重新安装框架似乎可以解决很多问题。 - codeConcussion
1
好主意 - 我会让他重新安装并报告是否解决了他的问题。 - aSkywalker
2个回答

3

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

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


很遗憾,只有在让标准部署界面管理您的更新时才能解决这个问题。如果您使用内置的API进行更新证书,它将会失败。 - Nathan Palmer

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接