Si è verificato un errore durante la firma: SignTool.exe non trovato


102

Mentre stavo cercando di aggiornare il mio progetto che stavo facendo, ho ricevuto un errore per la prima volta che ho visto:

"Si è verificato un errore durante la firma: SignTool.exe non trovato."

Non l'ho mai visto prima, quindi ho cercato che SignTool.exe è ciò che firma il mio progetto per la distribuzione ClickOnce.

Ho anche letto che fa parte di Windows SDK, ma quando ho cercato dove si trova SignTool.exe, l'ho visto proprio lì!

  C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

Non ho visto alcun problema e ho sempre pubblicato il mio progetto tutto il tempo - sono sulla versione 68. Ma questa è la prima volta che lo vedo - non ho toccato nessuna opzione che lo avrebbe fatto.

Qualsiasi aiuto?


Hai alcune versioni di Visual Studio sul tuo computer e hai eseguito poche versioni diverse di recente?
fino al

Sto usando l'anteprima per sviluppatori di Windows, è così?
Alex

Risposte:


7

Ora prova a pubblicare l'applicazione ClickOnce. Se si riscontra ancora lo stesso problema, verificare di aver installato Microsoft .NET Framework 4.5 Developer Preview sul sistema. Microsoft .NET Framework 4.5 Developer Preview è una versione preliminare di .NET Framework e non deve essere utilizzata negli scenari di produzione. Si tratta di un aggiornamento sul posto di .NET Framework 4. È necessario disinstallare questo prodotto non definitivo da ARP.

https://blogs.msdn.microsoft.com/vsnetsetup/2013/11/18/an-error-occurred-while-signing-signtool-exe-not-found/

Infine potresti voler installare l'anteprima del cliente invece di essere nell'anteprima dello sviluppatore


2
Aggiornato con la nuova versione
Micah Armantrout

2
La risposta corretta è di der_meister e Alex Erygin
der_chirurg

1
risposta obsoleta
T.Todua

193

Gli strumenti di pubblicazione ClickOnce non vengono installati come parte delle opzioni di installazione tipiche. Quindi devi installarlo in modalità avanzata. Fare clic su Una volta installazione

Questa finestra di dialogo può essere trovata in Windows 7 andando su Pannello di controllo> Disinstalla un programma , facendo clic con il pulsante destro del mouse su Microsoft Visual Studio Professional 2015 e selezionando Change. Si aprirà una finestra di dialogo di Visual Studio. Seleziona Modifydal set di pulsanti in basso e apparirà la finestra di dialogo sopra.


7
Sì, questo ha funzionato per me in Windows10. Nel Pannello di controllo ho aggiornato l'installazione per includere CickOnce Publishing Tools e ha funzionato! Grazie.
Nuno Nogueira

25
Questa è la risposta corretta per le persone che hanno problemi con questo in Visual Studio 2015.
Jaxidian

3
La versione a linea di comando è: . "C: \ ProgramData \ Package Cache \ {90ac7cb6-f7f2-49d1-aa5d-d159d8e86e19} \ vs_professional.exe" / InstallSelectableItems ClickOnceV1 / S
stefan.seeland

60

Fare clic una volta applicazione -> Proprietà -> Firma -> Deselezionata la firma dei manifesti ClickOnce.

Il problema sarà risolto.

Nota: tieni presente che questa soluzione rimuove la sicurezza dal tuo progetto. Chiedi l'assistenza di un collega più istruito prima di farlo.


31
Questa è una pessima soluzione.
Alex Erygin

1
Sono un programmatore esperto di fiabe in Java e Python. Avevo bisogno di compilare un progetto C # in VS2015 per uso personale. Questa è l'unica soluzione che ho potuto capire (con l'aiuto di Google) in questa pagina.
chiffa

4
Questa non è una soluzione - c'è una ragione per cui i programmi ClickOnce sono firmati: è una funzione di sicurezza, non qualcosa che infastidisce gli sviluppatori
Brondahl

5
Questa risposta si riferisce a "ignora la sicurezza e aiuta i miei utenti a essere infettati". Questa NON dovrebbe essere la soluzione con cui vai. Se non ti interessa firmare un programma di installazione, dovresti rimuovere le impostazioni di installazione / pubblicazione invece di disabilitare la sicurezza !!
Jaxidian

5
Questa è una buona soluzione poiché scrivo solo un piccolo strumento per uso personale. Penso che dovrebbe essere: "Fare clic con il pulsante destro del mouse sul progetto - Proprietà - Firma - Deselezionare Sign ClickOne manifest". All'inizio non so come fare "Si prega di fare clic una volta applicazione", è confuso con ClickOnce Tools: D
Quan Nguyen

23

SignTool viene spostato in un'altra posizione nell'ultimo SDK: C:\Program Files (x86)\Windows Kits\8.1\bin\x86

È necessario installare ClickOnce Publishing Tools durante l'installazione di Visual Studio 2015.

È possibile rieseguire l'installazione dalla sezione Programmi e funzionalità; trova Visual Studio nell'elenco e fai clic su Cambia.


Sto usando Windows 10, non riesco a trovare SignTool da nessuna parte. Devo deselezionare "Firma i manifesti ClickOne" per evitare questo errore.
witoong623

1
Uso Windows 10 e Visual Studio 2015 Community Edition. SignTool è stato installato quando ho aggiunto il pacchetto ClickOnce Publishing Tools nella configurazione VS.
Der_Meister

@Der_Meister hai pubblicato qualcosa con successo?
ralphgabb

1
Questa è la risposta corretta - Deludente che "Non
firmare

1
Nel caso in cui non sia ovvio per nessuno, rieseguire il programma di installazione ti consentirà di aggiungere funzionalità extra alla tua installazione VS: è molto chiaro una volta aperto.
Brondahl

19

Puoi risolvere questo problema facendo clic sull'applicazione di installazione di VS. Quindi fai clic su Modifica> Contrassegna app ClickOnce e quindi aggiorna il tuo VS. Inoltre penso che @Alex Erygin abbia ragione. È una cattiva soluzione l' applicazione Click Once -> Proprietà -> Firma -> Deseleziona Firma i manifesti ClickOnce. Questa non è una soluzione. Ha solo aggirato il problema.


4
circumambulato
behelit

11

Questa è una soluzione semplice. Apri il progetto su cui ricevi questo errore. Fai clic su "Progetto" in alto. Quindi fare clic su "Proprietà" (sarà il nome del progetto aperto) quindi fare clic su "Sicurezza" e deselezionare "Abilita impostazioni di sicurezza ClickOnce".

Questo dovrebbe aggiustare tutto.


La correzione ha funzionato nel nostro ambiente in cui il codice è condiviso tra sviluppatori utilizzando SVN
Christopher Bonitz

1
Non funziona, ma quando si fa clic su Firma -> Deselezionata [Firma i manifesti ClickOnce] ora funziona ...
Monzur

Soluzione rapida. Grazie!
user3772108

"Questo dovrebbe sistemare tutto" - tranne che per mantenere la sicurezza
MickyD

9

Fai clic su "Progetto" in alto. Quindi fai clic su "Proprietà" -> Firma -> Deselezionato [Firma i manifesti ClickOnce] ora funziona


7

Nessuna delle risposte precedenti parla di disabilitazione ClickOnce. Nella mia situazione, non ho mai usato ClickOnce per le mie applicazioni, ma dopo l'aggiornamento a VS 2015 è stato improvvisamente abilitato e ho ricevuto l'errore "SignTool.exe non trovato" quando ho provato a compilare.

Per disabilitare vai nelle proprietà del tuo progetto (tasto destro) e scegli Sicurezza | Deseleziona Abilita impostazioni di sicurezza ClickOnce .

Puoi lasciare il manifesto selezionato nella scheda Firma perché non ha nulla da firmare se è stato disabilitato.

Ho confermato che la deselezione della sicurezza ha risolto l'errore di compilazione sui miei progetti.


hai fatto clic una volta abilitata la pubblicazione, tutto ciò che hai fatto è stato rimuovere la sua sicurezza.
Mickey Perlstein

2

Avevo bisogno della firma, quindi non ho potuto deselezionare come suggerito.

Quindi vai al Pannello di controllo -> Programmi e funzionalità -> Microsoft Visual Studio 2015 Fai clic su Cambia, quindi verrà caricato il programma di installazione e dovrai fare clic su Modifica per aggiungere la funzione Strumenti di pubblicazione ClickOnce.


1

Ho avuto un problema simile. Per qualche motivo nelle proprietà del progetto -> Firma -> Firma i manifesti ClickOnce è stato abilitato.

L'ho deselezionato e il problema è scomparso.



1

Gli utenti di Windows 10 possono trovare signtool.exenella C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64cartella ( 10.0.18362.0nel mio caso o in un'altra versione).


Ma prima assicurati di aver installato Windows 10 SDK

Quindi, controlla che Windows SDK Signing Tools for Desktop Appssia installato andando su Control Panel > Programs > Programs and Features, scegli Windows Software Development Kit - Windows 10.0.18362.1 (nel mio caso, la tua versione potrebbe essere diversa), fai clic con il tasto destro, scegli Change, scegli le opzioni Changequindi fai clic Next.


1

Ho ricevuto lo stesso problema / messaggio di errore subito dopo aver aggiornato Visual Studio Pro 2019 V16.6.0. La soluzione era assicurarsi che il certificato di firma fosse valido poiché il mio era scaduto da un giorno.

Cerca nelle proprietà e nella firma per inserire un certificato valido o temporaneo. Per mantenere il nome del file lo stesso di prima, quindi deselezionare la sicurezza come menzionato sopra e quindi eliminare il file della chiave collegato al programma.

Crea un nuovo file chiave e aggiungi di nuovo la sicurezza.


0

Dopo aver aggiornato gli strumenti di compilazione nell'agente di compilazione DevOps a Visual Studio 2019, abbiamo iniziato a ricevere l'errore seguente per la fase di compilazione a 64 bit di un'applicazione WPF.

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ amd64 \ Microsoft.Common.CurrentVersion.targets (3975,5): errore MSB3482: si è verificato un errore durante la firma: SignTool.exe non è stato trovato nel percorso

Ho provato tutte le risposte precedenti tranne quelle per disabilitare la firma o la sicurezza della firma e nulla ha aiutato.

Disabilitato il passaggio MSBUILD predefinito inserisci qui la descrizione dell'immagine

Aggiunto un passaggio del prompt di cmd inserisci qui la descrizione dell'immagine

Il percorso è "C: \ Programmi (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ MsBuild.exe"

Nota : amd64 rimosso dal percorso sopra.

Questa è ancora una soluzione alternativa. Spero che Microsoft lo risolva nella prossima versione.

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.