Come installare SignTool.exe per Windows 10


94

Come installare SignTool.exe in Visual Studio 2015 per Windown 10? Ho provato a costruire il mio progetto ma il programma ha generato un errore:

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


prova a dare un'occhiata in% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin se lo strumento è esistente. Vedi blogs.msdn.com/b/vsnetsetup/archive/2013/11/18/… .
jtabuloc

@JrTabuloc Sto usando VS 2015 e non ho signtool.exe in% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin
Loint

4
Windows 10 WDK è installato per impostazione predefinita nel percorso "% ProgramFiles (x86)% \ Windows Kits \ 10". Prova a dare un'occhiata a "% ProgramFiles (x86)% \ Windows Kits \ 10 \ bin \ x86" se lo strumento esiste.
hal

Inoltre potresti provare a utilizzare i percorsi "% WindowsSdkDir% \ bin \ x86" o "% WindowsSdkDir% \ bin \ x64". Se non hai la variabile d'ambiente "% WindowsSdkDir%" nella shell della riga di comando, puoi chiamare qualcosa come "% VS140COMNTOOLS% .. \ .. \ vc \ vcvarsall.bat".
hal

@hal ho trovato signtool.exe e copiato in% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0 \ Bin. Ho provato di nuovo la soluzione di compilazione ma ha generato un nuovo errore Error An error occurred while signing: Failed to sign bin\Debug\app.publish\LotusGenCode.exe. SignTool Error: Invalid option: /fd LotusGenCode
Loint

Risposte:


120

È necessario installare Windows 10 SDK.

  1. Visual Studio 2015 Update 1 lo contiene già, ma non è installato per impostazione predefinita. Dovresti andare su Pannello di controllo -> Programmi e funzionalità, trovare Microsoft Visual Studio 2015 e selezionare "Cambia".

Verrà avviata l'installazione di Visual Studio 2015. Seleziona "Modifica".

Nell'elenco dei componenti di Visual Studio trova "Strumenti di sviluppo app di Windows universali", apri l'elenco dei sotto-elementi e seleziona "Windows 10 SDK (10.0.10240)".

Windows 10 SDK nell'installazione dell'aggiornamento 1 di VS 2015

  1. Ovviamente puoi installare Windows 10 SDK direttamente da Microsoft: https://go.microsoft.com/fwlink/?LinkID=698771

Come già scritto da josant, al termine dell'installazione troverai SignTool.exe nelle cartelle:

  • x86 -> c: \ Programmi (x86) \ Windows Kits \ 10 \ bin \ x86
  • x64 -> c: \ Programmi (x86) \ Windows Kits \ 10 \ bin \ x64 \

27
Per quello che vale, se tutto ciò di cui hai bisogno è signtool.exe, nel programma di installazione di From SDK 10, l'unica funzionalità che devi abilitare è il kit di sviluppo software di Windows che ti fa risparmiare circa 400 MB. Non molto, ma è già qualcosa.
mateuscb

3
@Steve Benvenuti nel meraviglioso mondo dello sviluppo di Windows, dove il bloat è una funzionalità
gillonba

3
L'ultima cifra odierna per Visual Studio 2017 richiedeva 6,28 GB per questo strumento.
hughes

3
C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x86| C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64
CJBS

1
@mateuscb Ho cercato un po 'più in là e sì, hai ragione - funziona bene per evitare del tutto l'installazione e copiare i file. Vedi la mia risposta più in basso in questa domanda per i dettagli completi.
Per Lundberg

46

Se vuoi solo SignTool e vuoi davvero ridurre al minimo l'installazione, ecco un modo che ho appena decodificato per:

  1. Scarica il .isofile da https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk (il link per il download corrente è http://go.microsoft.com/fwlink/p/?LinkID=2022797 ) Il .exedownload non funzionerà , poiché è un programma di installazione online che elimina le sue dipendenze in fase di esecuzione.
  2. Disimballare .isocon uno strumento come 7-zip .
  3. Installa il Installers/Windows SDK Signing Tools-x86_en-us.msifile: è grande solo 388 KiB. Per riferimento, estrae i suoi file dai seguenti .cabfile, quindi anche questi sono necessari per un'installazione autonoma:
    • 4c3ef4b2b1dc72149f979f4243d2accf.cab (339 KiB)
    • 685f3d4691f444bc382762d603a99afc.cab (1002 KiB)
    • e5c4b31ff9997ac5603f4f28cd7df602.cab (389 KiB)
    • e98fa5eb5fee6ce17a7a69d585870b7c.cab (1,2 MiB)

Ci andiamo - si avranno ora il signtool.exefile e la compagni di C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64(sostituire x64con x86, armo arm64se ne avete bisogno per un altro architettura della CPU.)


È anche possibile eseguire il commit signtool.exee gli altri file da questa cartella nel repository di controllo della versione se si desidera utilizzarlo, ad esempio, in scenari CI. L'ho provato e sembra funzionare bene.

( Probabilmente tutti i file non sono necessari poiché .exein questa cartella sono presenti anche altri strumenti che potrebbero essere responsabili di queste dipendenze, ma non sono sicuro di quali potrebbero essere rimossi per rendere il set di file ancora più piccolo. Qualcun altro è libero di indagare ulteriormente in quest'area. :) Ho provato a copiare signtool.*e non ha funzionato, quindi sono necessari almeno alcuni degli altri file.)


1
Questo è davvero tutto ciò che devi fare per installare signtool.exe.
predi

Ottimo suggerimento. Facile da implementare. Grazie per aver capito e per aver pubblicato la tua soluzione qui.
RobertFrank

Perfetto. Avevo solo bisogno dello strumento di segnalazione. Nessuna delle lanugine extra. A proposito, fare clic con il pulsante destro del mouse sui file .cab e selezionare installnon ha funzionato per me. Ho ricevuto l'erroreThe system cannot find the file specified.
frakman1

2
Ancora più semplice: monta il file .iso quindi esegui "Installers \ Windows SDK Signing Tools-x86_en-us"
Russell Phillips

@RussellPhillips Sì, questo è fondamentalmente quello che ho affermato sopra. Per alcuni casi d'uso, montare il .isoè più facile, ma per altri, potresti voler prendere il binario insieme a tutte le dipendenze (ad esempio, il check-in signtool.exee gli amici nel tuo repository git e firmare le build in AppVeyor, Jenkins ecc.)
Per Lundberg

22

È il 2019 ora :) Per chiunque si chieda, ecco dove lo troverai:

C:\Program Files (x86)\Windows Kits\10\App Certification Kit

Immagine dello schermo:


inserisci qui la descrizione dell'immagine

Modifica: ancora nello stesso posto nel 2020.


Visual Studio 2019 v.16.5.4. e Windows 10 SDK (10.0.18362.0): questa risposta è quella giusta per me. (entrambe le versioni sono più recenti al momento della scrittura - 29.04.2020)
Derptastic

20

Come da commenti nella domanda ... Su Windows 10 Signtool.exe e altri strumenti SDK sono stati spostati in "% programfiles (x86)% \ Windows Kits \" .

Percorso tipico per signtool su Windows 10.

  • 32 bit = "c: \ Programmi (x86) \ Windows Kits \ 10 \ bin \ x86 \ signtool.exe"
  • 64 bit = "c: \ Programmi (x86) \ Windows Kits \ 10 \ bin \ x64 \ signtool.exe"

Anche gli strumenti per SDK 8.0 e 8.1 risiedono nella cartella "Windows Kits".


4
Questo non risponde alla domanda. Come lo installi in primo luogo? Non c'è niente in quelle cartelle sul mio sistema, anche con Visual Studio installato.
NickG

+1 Ha funzionato qui sulla scatola di Windows 10 - Utilizzando il programma di installazione principale di Visual Studio ho dovuto installare Win 10 SDK (NON 8.1), quindi ho avuto SignTool.exe
Tino Mclaren

6

Posizione:

C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe

Solo dopo aver installato Windows 10 SDK.
Yannici

2

Nel 2019, questo è un collegamento abbastanza recente di Microsoft su come ottenere questo strumento:

Lo strumento SignTool è uno strumento della riga di comando che appone la firma digitale ai file, verifica le firme nei file o registra l'ora. Per informazioni sul motivo per cui la firma dei file è importante, vedere Introduzione alla firma del codice. Lo strumento viene installato nella cartella \ Bin del percorso di installazione di Microsoft Windows Software Development Kit (SDK).

SignTool è disponibile come parte di Windows SDK, che puoi scaricare da https://go.microsoft.com/fwlink/p/?linkid=84091 .

Avevo solo bisogno di signtool, quindi ho scelto il minimo che mi è venuto in mente e signtool.exe è ora in C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe

Selezione dell'installazione

Collegamento all'articolo Microsoft: https://docs.microsoft.com/en-us/windows/win32/seccrypto/signtool


2

28 aprile 2020

L'ho trovato qui:

C:\Program Files (x86)\Windows Kits\10\App Certification Kit

1

Se stai utilizzando VS Express 2015, vai al tuo pannello di controllo -> programmi e funzionalità -> seleziona vs 2015 -> fai clic su modifica, quindi nel programma di installazione di VS Express seleziona "Modifica" -> seleziona Strumenti di pubblicazione, E finito. Una volta che l'installazione completa le modifiche, sarai in grado di creare il tuo programma di installazione.


Grazie. Mi stavo strappando il cervello cercando di pubblicare.
Brack

1

Dovresti andare su Pannello di controllo -> Programmi e funzionalità, trovare Microsoft Visual Studio 2015 e selezionare "Cambia". Verrà avviata l'installazione di Visual Studio 2015. Seleziona "Modifica".

Nell'elenco dei componenti di Visual Studio, apri l'elenco degli elementi secondari e seleziona "Strumenti di pubblicazione ClickOnce" e anche "Windows 10 SDK".


0

Ho apportato una modifica con Visual Studio dal Pannello di controllo, Programmi e funzionalità. All'inizio l'SDK non era evidente, quindi ho installato gli strumenti comuni che, ecco, includevano l'SDK Update 3.


Hai affrontato il problema descritto nella domanda e ciò che descrivi lo ha risolto? Per favore, chiariscilo nella tua risposta. Cordiali saluti
YakovL

0

È disponibile in molti, molti posti, a seconda di cosa è installato: sulla mia scatola, tutti tranne la versione SDK v6.0A supportano l'opzione / fd.

inserisci qui la descrizione dell'immagine


0

SignTool è disponibile come parte di Windows SDK (fornito con Visual Studio Community 2015 ). Assicurati di selezionare " ClickOnce Publishing Tools " dall'elenco delle funzionalità durante l'installazione di Visual Studio 2015 per ottenere SignTool.

ClickOnce Publishing Tools

Una volta installato Visual Studio, è possibile eseguire il signtoolcomando dal prompt dei comandi di Visual Studio .

Per impostazione predefinita (su Windows 10) SignTool verrà installato in:

  • C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe

0

per installare solo signingtools da winsdksetup.exe (disponibile allo stesso URL di windows sdk iso menzionato sopra) questa è un'opzione per, direttamente dal Dockerfile in cui sto lavorando: RUN powershell Start-Process winsdksetup.exe -ArgumentList '/ features OptionId.SigningTools', '/ q', '/ ceip off', '/ norestart', -NoNewWindow -Wait

quindi se sei in Windows, sarebbe: winsdksetup.exe / features OptionId.SigningTools

winsdksetup / h ti dà le opzioni, quindi non le riassumerò qui. Includo lo snippet dockerfile, poiché è quello per cui ho iniziato la mia giornata cercando la soluzione.

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.