Visual Studio中找不到SignTool.exe

156

我已经完成了在Visual Studio 14.0中制作的应用程序,但是当我尝试发布该程序时,出现了一个错误,提示Visual Studio找不到'SignTool.exe'。我已经在我的硬盘驱动器上搜索了几次,但是它不存在于我的电脑上。有人能帮我找到它或下载吗?

8个回答

205

我遇到了同样的问题,但按照Catquatwa的答案安装Windows 8.1 SDK并没有起作用(signtool.exe仍然缺失于C:\Program Files (x86)\Microsoft SDKs\Windows\vX\Bin)。

我偶然发现了这个解决方案:http://www.benedykt.net/2015/08/12/missing-signtool-exe-w-visual-studio-2015/

基本上,对于VS 2015,步骤如下:

  • 打开“程序和功能”
  • 选择“Microsoft Visual Studio 2015”,然后点击“更改”
  • 按“修改”以进入特性选项
  • 选择“Windows和Web开发”,然后选中“ClickOnce发布工具”进行安装
  • 然后点击“下一步”,再点击“更新”

1
如果您从MSDN订阅安装Visual Studio 2015 Pro,则安装程序不会要求您选择选项。它只会安装基本的C#等内容,因此您需要执行以下操作才能安装其他任何内容,包括发布工具。 - Ryan Mann
安装Unity时,情况相同;没有显示任何选项。 - Tyronomo
1
这对我有用。我只是再次运行了安装程序,选择了“修改”,并勾选了“ClickOnce发布工具”框。谢谢! - ChrisB

115

我有一台Windows 7电脑,并安装了ClickOnce工具不足以满足需求。

只有在安装了SDK后,signtool.exe才出现:

vs 2015中的选项


97
如果您在发布时不需要对程序进行签名,请右键单击项目,然后选择 属性 --> 签名 --> 取消选中点击Once清单的签名。当我在另一台没有ClickOne的机器上构建程序时,我遇到了同样的问题。

1
需要强调的是:必须确保右键单击项目而不是顶部的解决方案指示器。在解决方案指示器上选择属性会导致“对象引用未设置为对象实例”的错误。 - vapcguy
2
只是顺便提一下,ClickOnce 是为了安全目的而存在的,因此在禁用它时应非常小心。 - maxshuty
我正在寻找这个。 - Roi

62

SignTool 是 Windows SDK 的一部分(随Visual Studio Community 2015一起发布)。在安装 Visual Studio 2015 时,确保从功能列表中选择“ClickOnce Publishing Tools”以获取 SignTool。

一旦安装了 Visual Studio,您可以从Visual Studio 命令提示符中运行 signtool 命令。默认情况下(在 Windows 10 上),SignTool 将安装在 C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe

安装 ClickOnce 发布工具:

enter image description here

SignTool 位置:

enter image description here


也可能位于 C:\Program Files (x86)\Windows Kits\8.1\bin\x64(或 x86)。 - wal
我有Visual Studio 2017企业版,但我没有找到这个选项。 - Jagz W
谢谢。我在C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\arm64找到了它。 - Manish Gupta

12

1. 只需从项目属性中禁用签名即可解决问题 :)
2. 另一种方法是从Digicert或Comodo或其他你想要的公司购买产品证书。你可以获得一些免费证书用于单台电脑使用。


3
这与华忠的回答有什么不同? - Uyghur Lives Matter
我刚刚回答了那个问题,我已经尝试过一次。如果他给出相同的答案,那他也是正确的。 - Ahmad
2
他在2015年11月提交了那个答案。你在2017年2月也给出了同样的答案 :-D - immutabl
从安全角度来看,这仍然是一个可怕的想法。 - Jeremy
@Jeremy,然后添加一个登录证书,而不是使用多个免费证书或自己创建虚拟证书。如果您有专业产品,则可以从其他公司(如Digicert或任何其他认证公司)购买证书。 - Ahmad

10

@ralphspoon 我不确定。我已经在Windows 10上尝试过了,所以它应该可以在Windows 8上运行,但我不知道Windows 7怎么样。 - Catquatwa
但是安装此程序需要1.5 GB的空间。这是正确的吗? - Mohan

6

@cpburnz:这是特定于8.1的SDK套件,我提供了下载.exe文件的链接来解决我的问题,即使Trung的步骤相同,但在他的方法中不需要安装SDK,这是SDK特定的。 我尝试了很多选项,最终解决了这个问题,所以想分享给遇到类似问题的人们。 Trung的答案是2015年的,而我最近也遇到了类似的问题。 - BHUVANESH MOHANKUMAR
这并没有回答“有人能帮我找到它或下载它吗?”的问题。你完全绕过了签名。 - highboi

1

这里提供了适用于Visual Studio 2017的解决方案。安装程序看起来与VS 2015版本略有不同,安装包名称也不同。


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