签名时发生错误:未找到SignTool.exe


102

当我尝试更新我的项目时,我正在做-我第一次看到错误:

'签名时发生错误:未找到SignTool.exe。

我以前从未见过,所以我查看了SignTool.exe是为我的项目进行ClickOnce部署的标志。

我也读到它是Windows SDK的一部分-但是当我寻找SignTool.exe的位置时-我在那里看到了它!

  C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

我没问题,我一直都在发布项目-我使用的是68版。但这是我第一次看到它-我没有碰过任何能做到这一点的选项。

有什么帮助吗?


您的计算机上是否有几个版本的Visual Studio,并且最近运行了几个不同的版本?
sll

我正在使用Windows Developer预览,是吗?
亚历克斯(Alex)

Answers:


7

现在尝试发布ClickOnce应用程序。如果仍然发现相同的问题,请检查是否在系统上安装了Microsoft .NET Framework 4.5 Developer Preview。Microsoft .NET Framework 4.5开发人员预览版是.NET Framework的预发行版本,不应在生产方案中使用。它是对.NET Framework 4的就地更新。您需要从ARP卸载此预发行产品。

https://blogs.msdn.microsoft.com/vsnetsetup/2013/11/18/an-error-occurred-while-signing-signtool-exe-not-found/

最后,您可能想安装客户预览版,而不是在开发人员预览版上


2
更新了新版本
Micah Armantrout 2016年

2
正确答案是der_meister和Alex Erygin
der_chirurg

1
过时的答案
T.Todua '18

193

ClickOnce发布工具未作为“典型安装选项”的一部分安装。因此,您必须以高级模式安装它。 ClickOnce安装

可以在Windows 7中找到此对话框,方法是转到 控制面板>卸载程序,右键单击Microsoft Visual Studio Professional 2015并选择Change。将打开一个Visual Studio对话框。Modify从底部的按钮组中进行选择,将出现以上对话框。


7
是的,这在Windows10中对我有用。在控制面板中,我更新了安装程序以包括CickOnce发布工具,它可以正常工作!谢谢。
Nuno Nogueira 2015年

25
对于在Visual Studio 2015中遇到此问题的人,这是正确的答案
。– Jaxidian

3
命令行版本为:。“ C:\ ProgramData \ Package Cache \ {90ac7cb6-f7f2-49d1-aa5d-d159d8e86e19} \ vs_professional.exe” / InstallSelectableItems ClickOnceV1 / S
stefan.seeland,

60

请单击一次应用程序->属性->签名->取消选中ClickOnce清单的标志。

问题将会解决。

注意:请注意,此解决方案会从您的项目中删除安全性。在这样做之前,请向知识渊博的同事寻求帮助。


31
这是非常糟糕的解决方案。
亚历克斯·埃里金

1
我是一位精通Java和Python的童话程序员。我需要在VS2015中编译一个C#项目供我自己使用。这是我在此页面上唯一可以理解的解决方案(在Google的帮助下)。
chiffa 2015年

4
这不是解决方案
-ClickOnce

5
该答案与“忽略安全性并帮助我的用户被感染”有关。这不应该是您的解决方案。如果您不希望签署安装程序,则应删除安装程序/发布设置,而不要禁用安全性!!
Jaxidian 2015年

5
这是一个很好的解决方案,因为我只是编写了一个供个人使用的小工具。我认为应该是:“右键单击您的项目-属性-签名-取消选中“签署ClickOne清单”。起初我不知道如何“请单击一次应用程序”,它与ClickOnce Tools混淆了:D
Quan Nguyen

23

SignTool已移至最后一个SDK中的另一个位置: C:\Program Files (x86)\Windows Kits\8.1\bin\x86

在Visual Studio 2015安装过程中需要安装ClickOnce发布工具。

您可以从“程序和功能”部分重新运行“安装”。在列表中找到Visual Studio,然后单击“更改”。


我正在使用Windows 10,在任何地方都找不到SignTool。我必须取消选中“签署ClickOne清单”,以避免出现此错误。
witoong623

1
我使用Windows 10和Visual Studio 2015社区版。我在VS安装程序中添加ClickOnce Publishing Tools软件包时已安装SignTool。
Der_Meister

@Der_Meister您成功发布了任何东西吗?
ralphgabb

1
这是正确的答案
令人失望的

1
如果对任何人都不是很明显,重新运行安装程序将使您可以在VS安装中添加额外的功能-打开后就很清楚了。
Brondahl 2015年

19

您可以通过单击VS的安装应用程序来解决此问题。然后单击“修改”>“标记ClickOnce应用程序”,然后升级VS。我也认为@Alex Erygin是正确的。单击一次应用程序->属性->签名->取消选中对ClickOnce清单进行签名是一个糟糕的解决方案 这不是解决方案。它只是规避了问题。


4
绕行
behelit

11

这是一个简单的修复。打开您正在遇到此错误的项目。点击顶部的“项目”。然后单击“属性”(将是打开的项目的名称),然后单击“安全”,然后取消选中“启用ClickOnce安全设置”。

那应该解决所有问题。


您的修复程序在我们的环境中起作用,在该环境中,使用SVN在开发人员之间共享代码
Christopher Bonitz,2016年

1
无法

快速解决。谢谢!
user3772108 '19

“这应该可以解决一切” -除了保持安全
MickyD

9

点击顶部的“项目”。然后单击“属性”->签名->未选中[Sign the ClickOnce manifests]现在可以使用


7

以上所有答案均未提及禁用 ClickOnce。在我的情况下,我从未将ClickOnce用于我的应用程序,但是在升级到VS 2015后,突然启用了它,并且在尝试编译时出现“找不到SignTool.exe”错误。

要禁用此功能,请进入您的项目的属性(右键单击),然后选择“ 安全性” |“禁用” 取消选中“启用ClickOnce安全设置”

您可以在“签名”选项卡中将清单保留为选中状态,因为如果清单被禁用,则没有任何东西可以签名。

我已经确认,取消选中安全性可以解决我项目中的编译错误。


您已启用clickonce发布功能,那么您所做的就是删除安全性。
米奇·佩尔斯坦

2

我需要签名,因此无法按照建议取消选中。

然后转到控制面板->程序和功能-> Microsoft Visual Studio 2015单击更改,然后将加载安装程序,您需要单击修改以添加ClickOnce发布工具功能。


1

我确实有类似的问题。由于某些原因,启用了项目属性->签名->签署ClickOnce清单。

我取消选中它,问题就消失了。



1

Windows 10用户可以signtool.exeC:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64文件夹(10.0.18362.0在我的情况下,或其他版本)中找到。


但首先,请确保您已安装Windows 10 SDK

然后,通过以下步骤检查Windows SDK Signing Tools for Desktop Apps安装是否正确Control Panel > Programs > Programs and Features:选择Windows软件开发工具包-Windows 10.0.18362.1(在我的情况下,您的版本可能有所不同),右键单击,选择Change,选择选项,Change然后单击Next


1

升级Visual Studio Pro 2019 V16.6.0后,我也遇到了同样的问题/错误消息。解决方案是确保签名证书有效,因为我的证书已经过期了一天。

查找属性并签名以输入有效或临时证书。若要使文件名与以前相同,请如上所述取消单击安全性,然后删除链接到程序的密钥文件。

创建一个新的密钥文件,然后重新添加安全性。


0

将DevOps构建代理中的构建工具升级到Visual Studio 2019之后,我们开始收到WPF应用程序的64位构建步骤的以下错误。

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ amd64 \ Microsoft.Common.CurrentVersion.targets(3975,5):错误MSB3482:签名时发生错误:SignTool.exe在路径中找不到

我尝试了上述所有答案,但禁用了签名或签名安全性的答案却无济于事。

禁用默认的MSBUILD步骤 在此处输入图片说明

添加了cmd提示步骤 在此处输入图片说明

路径为“ C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ MsBuild.exe”

注意:从上述路径中删除了amd64

这仍然是一种解决方法。我希望Microsoft在以下版本中修复它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.