Visual Studio 2015/Windows 10 SDK SignTool.exe 错误?

Posted

技术标签:

【中文标题】Visual Studio 2015/Windows 10 SDK SignTool.exe 错误?【英文标题】:Visual Studio 2015/Windows 10 SDK SignTool.exe bug? 【发布时间】:2016-01-16 12:23:09 【问题描述】:

我有一个项目要升级到 Visual Studio 2015,但它仍以 .NET 4.5.1 为目标。

只要 $(WindowsSDKBinPath) 设置为 Windows 10 SDK“C:\Program Files (x86)\Windows Kits\10\bin\x86\”,signtool.exe 就会以退出代码 255 退出,并且输出会像以下:

The following certificate was selected:
    Issued to: XXXX
    Issued by: VeriSign Class 3 Code Signing 2010 CA
    Expires:   Tue Apr 11 19:59:59 2017
    SHA1 hash: XXXX

Done Adding Additional Store

如果要发生错误,通常会在此处显示错误,但仅此而已,它会在此处中断并以退出代码 255 退出。

如果 $(WindowsSDKBinPath) 设置为 Windows 8.1 SDK "C:\Program Files (x86)\Windows Kits\8.1\bin\x86\" 那么一切都很好。 SignTool.exe 对 dll 进行签名没有任何问题,并像正常一样以代码 0 退出。

谁能帮我弄清楚如何使用较新的signtool,或者至少知道它为什么不起作用?下面是我添加到我的 csproj 文件中以在构建后对其进行签名的目标。谢谢。

<Target Name="AuthenticodeProjectSign" AfterTargets="AfterBuild">
  <PropertyGroup>
    <AuthenticodeTimestampServerUrl>http://timestamp.verisign.com/scripts/timstamp.dll</AuthenticodeTimestampServerUrl>
    <TargetAssembly>$(OutDir)$(TargetFileName)</TargetAssembly>
  </PropertyGroup>

  <Exec Command="&quot;$(WindowsSDKBinPath)signtool.exe&quot; sign /v /sha1 $(AuthenticodeCertificateSHA1) /t $(AuthenticodeTimestampServerUrl) &quot;$(TargetAssembly)&quot;" />
</Target>

【问题讨论】:

虽然很遗憾我没有这个问题的答案,但我只想说谢谢你帮助我解决了我的问题。我有完全相同的问题。尝试使用 Windows 10 SDK SignTool.exe 导致 255 退出代码。 (这把我带到了这里)。将 ClickOnce 发布工具添加到 VS,然后使用 8.1 SDK SignTool.exe 工作得很好(正如您在问题中提到的那样)。不确定这是一个错误还是新 signtool 中的什么,但我很高兴能让事情正常进行。谢谢。 你有没有办法让它在 windows 10 sdk 上工作?我们也在做这个解决方法,但最好知道它为什么不适用于 win 10 sdk 版本:-s 【参考方案1】:

signtool @我的机器和构建服务器上的工作。在 VisualStudio 2015 和 Windows 10 Enterprise 64 位上,我必须在 VisualStudio 设置中添加 ClickOnce 发布工具:

在此之后你会在

中找到signtool.exe c:\Program Files (x86)\Windows Kits\8.1\bin\x64\ c:\Program Files (x86)\Windows Kits\8.1\bin\x86\ c:\Program Files (x86)\Windows Kits\8.1\bin\arm\

【讨论】:

我的问题不是我缺少signtool,而是signtool静默失败。 好的,抱歉没有帮助。我不知道,为什么新版本不起作用,但旧版本可以。为什么需要新版本?也许时间戳服务器有问题,请参阅***.com/questions/19123736/…【参考方案2】:

我遇到了同样的问题,signtool 在使用时退出代码为 255:

C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe

但不知何故,使用它可以正常工作:

C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe

【讨论】:

以上是关于Visual Studio 2015/Windows 10 SDK SignTool.exe 错误?的主要内容,如果未能解决你的问题,请参考以下文章

dev文件用visual studio怎么打开

visual studio 2005 图像上 添加 数字

如何利用visual studio2015编写uwp应用

visual studio2017注册表删除

visual studio 如何生成动态库

visual studio怎么添加对dll的引用