Visual Studio签名失败(signtool.exe错误)


9

在今天下午接受Windows的次要更新后,我发现我无法再对Visual Studio应用程序进行签名生成。

深入探讨该问题,我遇到了位于一个晦涩目录(C:\ Program Files(x86)\ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x64)中的signtool.exe程序。使用命令提示符,我尝试手动运行它以对我的应用程序进行签名,但是这样做时,什么也没发生:没有输出,没有错误消息。我还尝试了在没有任何参数的情况下运行它,而该参数没有期望帮助消息或至少出现错误的信息,但是同样,没有任何结果。

我去了另一台今天还没有收到Windows更新的计算机,找到了相同的文件并运行它:它运行良好。

以为我在第一台计算机上一定有损坏的.exe文件,我从另一台计算机复制了该版本,但仍然失败。但是,如果我重命名该文件,则它将运行。例如,如果我将其重命名为“ signtool1.exe”,则可以从命令行运行它,尽管Visual Studio由于名称更改仍无法运行它。

在此过程中,我确实尝试过多次重启计算机,以为也许有副本保留在内存中,但是没有。我也在任务管理器中搜索了它。

我以前从未见过这样的东西。根据可执行文件的名称,同一程序将运行还是不执行任何操作。还有一个细节,如果我将其复制到主目录中,它实际上将与文件名无关地运行。是什么原因引起的呢?

谢谢,弗兰克


进程失败时,Win10不再显示崩溃对话框。您应该在程序员的机器上解决的问题。在应用程序事件日志中查找崩溃通知。
汉斯·帕桑

我遇到了同样的问题。我用下面@ xperia64的技巧修复了它。但是,此链接也可能与Microsoft承认与Windows 10
Neil

Answers:


11

我发现没有重命名signtool.exe,而是发现重命名/删除signtool.exe.manifest允许运行signtool,同时仍然允许Visual Studio运行它。

我不知道为什么会这样,或者删除清单的副作用是什么,但是足以让我的项目再次构建。

作为参考,我在干净的Windows 10 1909 VM中进行了干净的VS2019安装后遇到了此问题(但不久后进行了全面更新)。


1
谢谢,删除清单文件也对我有用。
Frank LaRosa

7

我看到了同样的问题。Signtool不显示任何错误对话框,但返回的错误代码为-1073741502(0xC0000142),STATUS_DLL_INIT_FAILED。

该问题可能与更新KB4535996有关。当我看到问题和signtool正常工作时,我卸载了更新。重新安装更新后,问题返回。

如果我将清单文件移出目录,则Signtool可以正常工作,就像您看到的那样。但是我还注意到,当我将清单移回目录时,signtool可以工作。


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.