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
fuente
Respuestas:
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).
fuente
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.
fuente
Aquí hay un informe de error en el Centro de comentarios de Windows. Vota a favor el informe de error KB4535996.
fuente