Error de firma de Visual Studio (error de signtool.exe)

9

Después de aceptar una actualización menor de Windows esta tarde, descubrí que ya no podía hacer compilaciones firmadas de mi aplicación Visual Studio.

Al profundizar en el problema, me encontré con el programa signtool.exe que se encuentra en un directorio oscuro (C: \ Archivos de programa (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x64). Usando el símbolo del sistema, intenté ejecutarlo manualmente para firmar mi aplicación, pero cuando lo hice, no sucedió nada: sin salida, sin mensaje de error. También intenté ejecutarlo sin parámetros esperando un mensaje de ayuda o al menos un error, pero nuevamente, nada.

Fui a otra computadora que aún no había recibido ninguna actualización de Windows hoy, encontré el mismo archivo y lo ejecuté: y funcionó bien.

Pensando que debía tener un archivo .exe dañado en la primera computadora, copié la versión de la otra computadora, pero aún así falló. Sin embargo, si cambio el nombre del archivo, se ejecuta. Por ejemplo, si le cambio el nombre a "signtool1.exe", puedo ejecutarlo desde la línea de comandos muy bien, aunque Visual Studio todavía no puede ejecutarlo debido al cambio de nombre.

Intenté reiniciar mi computadora varias veces durante este proceso pensando que tal vez había una copia atascada en la memoria, pero no la hay. También lo busqué en el Administrador de tareas.

Nunca había visto algo así antes. El mismo programa se ejecuta o no hace nada según el nombre del archivo ejecutable. Un detalle más, en realidad se ejecuta independientemente del nombre del archivo si lo copio a mi directorio de inicio. ¿Qué podría causar tal cosa?

Gracias Frank

usuario92238
fuente
Win10 ya no muestra el cuadro de diálogo de bloqueo cuando falla un proceso. Algo que debes arreglar en la máquina de un programador. Busque en el registro de eventos de la aplicación la notificación de bloqueo.
Hans Passant
Tuve el mismo problema. Lo arreglé con la sugerencia de @ xperia64 a continuación. Sin embargo, este enlace también puede ser relevante. Microsoft admite problemas importantes con Windows 10 KB453599
Neil Weicher

Respuestas:

11

En lugar de renombrar signtool.exe, descubrí que renombrar / eliminar signtool.exe.manifest permite que signtool se ejecute y al mismo tiempo permite que Visual Studio lo ejecute.

No sé por qué sucede esto o cuáles son los efectos secundarios de eliminar el manifiesto, pero es suficiente para que mi proyecto se vuelva a construir.

Como referencia, encontré este problema después de realizar una instalación VS2019 limpia en una máquina virtual limpia Windows 10 1909 (pero completamente actualizada poco después).

xperia64
fuente
1
Gracias, eliminar el archivo de manifiesto también funcionó para mí.
Frank LaRosa
7

Estoy viendo el mismo problema. Signtool no muestra ningún cuadro de diálogo de error, pero el código de error devuelto es -1073741502 (0xC0000142), STATUS_DLL_INIT_FAILED.

El problema podría estar relacionado con la actualización KB4535996. Desinstalé la actualización cuando vi el problema y signtool funcionó normalmente. El problema regresó cuando reinstalé la actualización.

Signtool funciona si muevo el archivo de manifiesto fuera del directorio, como viste. Pero también noté que signtool funciona cuando muevo el manifiesto nuevamente al directorio.

Jim B
fuente
2

Aquí hay un informe de error en el Centro de comentarios de Windows. Vota a favor el informe de error KB4535996.

d1no
fuente