Firma di Visual Studio non riuscita (errore signtool.exe)


9

Dopo aver accettato un aggiornamento di Windows secondario questo pomeriggio, ho scoperto che non potevo più creare build firmate della mia applicazione Visual Studio.

Risolvendo il problema, mi sono imbattuto nel programma signtool.exe che si trova in una directory oscura (C: \ Programmi (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x64). Utilizzando il prompt dei comandi, ho provato a eseguirlo manualmente per firmare la mia app, ma quando lo ho fatto, non è successo nulla: nessun output, nessun messaggio di errore. Ho anche provato a eseguirlo senza parametri aspettandomi un messaggio di aiuto o almeno un errore, ma ancora una volta, niente.

Sono andato su un altro computer che non aveva ancora ricevuto alcun aggiornamento di Windows oggi, ho trovato lo stesso file e l'ho eseguito: e ha funzionato bene.

Pensando di aver avuto un file .exe danneggiato sul primo computer, ho copiato la versione dall'altro computer, ma non è riuscita. Tuttavia, se rinominare il file, viene eseguito. Ad esempio, se lo rinomino in "signtool1.exe", posso eseguirlo dalla riga di comando, anche se Visual Studio non è ancora in grado di eseguirlo a causa della modifica del nome.

Ho provato a riavviare il computer più volte durante questo processo pensando che forse ce n'era una copia bloccata in memoria, ma non lo è. Ho anche cercato nel Task Manager.

Non ho mai visto niente del genere prima d'ora. Lo stesso programma viene eseguito o non esegue alcuna operazione in base al nome del file eseguibile. Un altro dettaglio, funziona effettivamente indipendentemente dal nome file se lo copio nella mia directory home. Cosa potrebbe causare una cosa del genere?

Grazie Frank


Win10 non mostra più la finestra di dialogo di arresto anomalo quando un processo fallisce. Qualcosa che dovresti risolvere sulla macchina di un programmatore. Cerca nel registro eventi dell'applicazione la notifica di arresto anomalo.
Hans Passant,

Ho riscontrato lo stesso problema. L'ho risolto con la punta da @ xperia64 di seguito. Tuttavia, questo collegamento potrebbe anche essere rilevante. Microsoft ammette importanti problemi con Windows 10 KB453599
Neil Weicher

Risposte:


11

Invece di rinominare signtool.exe, ho scoperto che la ridenominazione / rimozione di signtool.exe.manifest consente l'esecuzione di signtool pur consentendo a Visual Studio di eseguirlo.

Non so perché questo accada o quali siano gli effetti collaterali della rimozione del manifest, ma è sufficiente che il mio progetto si ricostruisca di nuovo.

Per riferimento, ho riscontrato questo problema dopo aver eseguito un'installazione VS2019 pulita in una VM Windows 10 1909 pulita (ma completamente aggiornata poco dopo).


1
Grazie, la rimozione del file manifest ha funzionato anche per me.
Frank LaRosa,

7

Sto vedendo lo stesso problema. Signtool non visualizza alcuna finestra di dialogo di errore ma il codice di errore restituito è -1073741502 (0xC0000142), STATUS_DLL_INIT_FAILED.

Il problema potrebbe essere correlato all'aggiornamento KB4535996. Ho disinstallato l'aggiornamento quando ho visto il problema e signtool ha funzionato normalmente. Il problema è tornato quando ho reinstallato l'aggiornamento.

Signtool funziona se sposto il file manifest fuori dalla directory, proprio come hai visto. Ma ho anche notato che signtool funziona quando sposto il manifest nella directory.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.