Визуальная студийная подпись не удалась (ошибка signtool.exe)

9

Приняв небольшое обновление Windows сегодня днем, я обнаружил, что больше не могу делать подписанные сборки моего приложения Visual Studio.

Раскрывая проблему, я наткнулся на программу signtool.exe, которая находится в неясном каталоге (C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x64). Используя командную строку, я попытался запустить ее вручную, чтобы подписать свое приложение, но когда я это сделал, ничего не произошло: ни вывода, ни сообщения об ошибке. Я также попытался запустить его без параметров, ожидающих сообщения помощи или хотя бы ошибки, но опять же ничего.

Я пошел на другой компьютер, на котором еще не было обновлений Windows, нашел тот же файл и запустил его, и он работал нормально.

Думая, что у меня был поврежденный файл .exe на первом компьютере, я скопировал версию с другого компьютера, но все равно не получилось. Однако, если я переименую файл, он запустится. Например, если я переименую его в «signtool1.exe», я смогу запустить его из командной строки очень хорошо, хотя Visual Studio все равно не сможет запустить его из-за изменения имени.

Во время этого процесса я несколько раз пытался перезагрузить свой компьютер, думая, что, возможно, его копия застряла в памяти, но ее нет. Я также искал это в диспетчере задач.

Я никогда не видел ничего подобного раньше. Эта же программа запускается или ничего не делает в зависимости от имени исполняемого файла. Еще одна деталь: он запускается независимо от имени файла, если я копирую его в свой домашний каталог. Что может вызвать такую ​​вещь?

Спасибо фрэнк

user92238
источник
Win10 больше не показывает диалоговое окно сбоя при сбое процесса. Что-то, что вы должны исправить на машине программиста. Посмотрите в журнале событий приложений уведомление о сбое.
Ганс Пассант
Я столкнулся с той же проблемой. Я исправил это с помощью подсказки от @ xperia64 ниже. Тем не менее, эта ссылка может также иметь отношение Microsoft допускает серьезные проблемы с Windows 10 KB453599
Нил

Ответы:

11

Вместо того, чтобы переименовывать signtool.exe, я обнаружил, что переименование / удаление signtool.exe.manifest позволяет запускать signtool, а также позволяет Visual Studio его запускать.

Я не знаю, почему это происходит или каковы побочные эффекты удаления манифеста, но этого достаточно для моего проекта, чтобы построить заново.

Для справки, я столкнулся с этой проблемой после выполнения чистой установки VS2019 на чистой виртуальной машине Windows 10 1909 (но вскоре после этого полностью обновленной).

xperia64
источник
1
Спасибо, удаление файла манифеста также работает для меня.
Фрэнк Лароза
7

Я вижу ту же проблему. Signtool не отображает никаких диалогов об ошибках, но возвращается код ошибки -1073741502 (0xC0000142), STATUS_DLL_INIT_FAILED.

Проблема может быть связана с обновлением KB4535996. Я удалил обновление, когда увидел проблему, и signtool работал нормально. Проблема вернулась, когда я переустановил обновление.

Signtool работает, если я перемещаю файл манифеста из каталога, как вы видели. Но я также заметил, что signtool работает, когда я перемещаю манифест обратно в каталог.

Джим Б
источник
2

Вот отчет об ошибке в Windows Feedback Hub. Пожалуйста, отправьте сообщение об ошибке KB4535996.

d1no
источник