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

Ale*_*lex 97 visual-studio-2010 visual-studio

当我试图更新我正在制作的项目时 - 我第一次看到错误了:

'签名时出错:找不到SignTool.exe.

我以前从未见过这个,所以我抬头看看SignTool.exe是我的ClickOnce部署项目的标志.

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

  C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
Run Code Online (Sandbox Code Playgroud)

我没有看到任何问题,而且我一直都在发布我的项目 - 我正在使用版本68.但这是我第一次看到这个 - 我没有触及任何可以做到这一点的选项.

有帮助吗?

Ale*_*gin 188

ClickOnce发布工具未作为典型安装选项的一部分安装.所以你必须以高级模式安装它. ClickOnce安装

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

  • 对于在Visual Studio 2015中遇到此问题的人来说,这是正确的答案. (25认同)
  • 是的,这在Windows10中对我有用.在控制面板中,我已经更新了安装,包括CickOnce Publishing Tools,它运行良好!谢谢. (7认同)
  • 命令行版本为:**。“ C:\ ProgramData \ Package Cache \ {90ac7cb6-f7f2-49d1-aa5d-d159d8e86e19} \ vs_professional.exe” / InstallSelectableItems ClickOnceV1 / S ** (2认同)

Vig*_*esh 62

请单击一次应用程序 - >属性 - >签名 - >取消选中签署ClickOnce清单.

问题将得到解决.

注意:请注意,此解决方案会从项目中删除安全性.在这样做之前,请向更有学问的同事寻求帮助.

  • 这是非常糟糕的解决方案. (30认同)
  • 这个答案涉及"忽略安全性并帮助我的用户受到感染".这不应该是你使用的解决方案.如果您不关心签署安装程序,那么您应该删除安装程序/发布设置,而不是禁用安全性! (5认同)
  • 这是一个很好的解决方案,因为我只是编写一个小工具供个人使用.我认为它应该是:"右键单击您的项目 - 属性 - 签名 - 取消选中签名ClickOne清单".起初我不知道如何"请点击一次申请",它与ClickOnce工具混淆:D (5认同)
  • 这不是一个解决方案 - 有一个原因是ClickOnce程序已签名:它是一个安全功能,而不是让开发人员烦恼的东西 (4认同)

Der*_*ter 23

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

需要在Visual Studio 2015安装期间安装ClickOnce发布工具.

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


Sto*_*kov 19

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

  • 绕行 (4认同)

小智 11

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

这应该解决所有问题.


Mon*_*zur 9

点击顶部的"项目".然后单击"属性" - >签名 - >未选中[签署ClickOnce清单]现在正在运行


Mic*_*out 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认同)
  • 正确答案是 der_meister 和 Alex Erygin (2认同)

小智 7

上面的答案都没有谈到禁用 ClickOnce.在我的情况下,我从来没有将ClickOnce用于我的应用程序但是在我升级到VS 2015后它突然启用了,当我尝试编译时,我收到了"找不到SignTool.exe"错误.

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

您可以在"签名"选项卡中选中清单,因为如果已禁用,则无需签名.

我已经确认取消选中安全性解决了我的项目的编译错误.