ClickOnce 发布 Signtool 错误

Posted

技术标签:

【中文标题】ClickOnce 发布 Signtool 错误【英文标题】:ClickOnce Publish Signtool Error 【发布时间】:2012-10-15 15:09:44 【问题描述】:

首先我想说:

我的证书未过期(将于 2039 年 12 月 31 日过期) 我的证书没有改变 我不想使用新证书,因为它需要我在所有客户端计算机上重新安装我的应用程序。

当我尝试发布我的 WCF/WPF 解决方案时,我突然得到:

错误 2 签名时出错:无法签名 bin\Debug\app.publish\setup.exe。 SignTool 错误:签名者的证书对签名无效。 SignTool 错误:尝试签名时出错:bin\Debug\app.publish\setup.exe

是否有其他人使用无论如何都应该有效的证书经历过这种情况?关于可能是什么问题的任何建议?

【问题讨论】:

同样的问题。我们花了两天时间试图弄清楚过去一周发生了什么。我们认为它与星期二的补丁或我们中的一个人安装 VS 2012 有关,但仍然真的迷失了。 好吧,至少知道我并不孤单是件好事。我也在使用 V2 2012。我提前一天发布,没有问题。这是个好主意。我将查看任何最近的 Win 7 更新,看看我是否将它们卸载。 卸载所有最近的 Windows 更新就行了! 【参考方案1】:

如前所述,对于 Windows 7 KB2661254(代码密钥长度

查看知识库文章

http://support.microsoft.com/kb/2661254

更新:事实证明,它是 512 位自签名证书的根证书,而不是实际证书本身。我在 Windows 8 上重新生成,新证书一切正常。

【讨论】:

在查看我们的证书密钥长度后,似乎修复可能存在错误,因为我们的密钥长度都是 1024。 我同意,我无法使用我的自签名证书发布,该证书将于 2039 年到期,密钥长度为 1024。一旦我在 XP 上卸载了 KB2661254,它就发布了。我猜我需要弄清楚如何使用更长的密钥更新我的证书,这样我就可以从我的 Windows 8 工作站进行部署,而不会导致我的用户卸载/重新安装。【参考方案2】:

正如Kevin 建议的那样,我卸载了问题开始那天(2012 年 10 月 12 日)获得的所有 Windows 更新,并且能够正常发布。谢谢凯文。我很遗憾在删除它们之前没有得到我删除的 KB 列表。 :(

【讨论】:

以上是关于ClickOnce 发布 Signtool 错误的主要内容,如果未能解决你的问题,请参考以下文章

.NET 4 ClickOnce 过期证书

使用 MSBuild 从 Visual Studio 2013 命令行发布 Clickonce 找不到 SignTool.exe

我该如何扭转这个? - “签名时出错:找不到 SignTool.exe”

Visual Studio 2017 使用哪个版本的 SignTool?

使用ClickOnce发布Windows应用程序

SignTool 错误:发生了意外的内部错误。错误 MSB3482