Cómo instalar SignTool.exe para Windows 10


94

¿Cómo instalar SignTool.exe en Visual Studio 2015 para Windown 10? Intenté construir mi proyecto pero el programa arrojó un error:

Error Se produjo un error al firmar: no se encontró SignTool.exe.


intente echar un vistazo en% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin si la herramienta ya existe. Consulte blogs.msdn.com/b/vsnetsetup/archive/2013/11/18/… .
jtabuloc

@JrTabuloc Estoy usando VS 2015 y no tengo signtool.exe en% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin
Loint

4
Windows 10 WDK se instala de forma predeterminada en la ruta "% ProgramFiles (x86)% \ Windows Kits \ 10". Intente buscar en "% ProgramFiles (x86)% \ Windows Kits \ 10 \ bin \ x86" si la herramienta ya existe.
hal

También puede intentar utilizar las rutas "% WindowsSdkDir% \ bin \ x86" o "% WindowsSdkDir% \ bin \ x64". Si no tiene la variable de entorno "% WindowsSdkDir%" en el shell de la línea de comandos, puede llamar a algo como "% VS140COMNTOOLS% .. \ .. \ vc \ vcvarsall.bat" para ello.
hal

@hal Encontré signtool.exe y lo copié en% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0 \ Bin. Intenté compilar la solución nuevamente pero arrojó un nuevo error Error An error occurred while signing: Failed to sign bin\Debug\app.publish\LotusGenCode.exe. SignTool Error: Invalid option: /fd LotusGenCode
Loint

Respuestas:


120

Necesita instalar el SDK de Windows 10.

  1. Visual Studio 2015 Update 1 ya lo contiene, pero no está instalado de forma predeterminada. Debe ir al Panel de control -> Programas y características, buscar Microsoft Visual Studio 2015 y seleccionar "Cambiar".

Se iniciará la instalación de Visual Studio 2015. Seleccione "Modificar".

En la lista de componentes de Visual Studio, busque "Herramientas universales de desarrollo de aplicaciones de Windows", abra la lista de subelementos y seleccione "Windows 10 SDK (10.0.10240)".

SDK de Windows 10 en la instalación de VS 2015 Update 1

  1. Por supuesto, puede instalar Windows 10 SDK directamente desde Microsoft: https://go.microsoft.com/fwlink/?LinkID=698771

Como ya escribió josant, cuando finalice la instalación, encontrará SignTool.exe en las carpetas:

  • x86 -> c: \ Archivos de programa (x86) \ Windows Kits \ 10 \ bin \ x86
  • x64 -> c: \ Archivos de programa (x86) \ Windows Kits \ 10 \ bin \ x64 \

27
Por lo que vale, si todo lo que necesita es signtool.exe, en el instalador de SDK 10, la única característica que necesita habilitar es el Kit de desarrollo de software de Windows que le ahorra alrededor de 400 MB. No mucho, pero es algo.
mateuscb

3
@Steve Bienvenido al maravilloso mundo del desarrollo de Windows, donde la hinchazón es una característica
gillonba

3
La última cifra de hoy para Visual Studio 2017 requirió 6.28 GB para esta herramienta.
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 Miré un poco más en esto y sí, tienes razón: funciona bien para evitar la instalación por completo y simplemente copiar los archivos. Consulte mi respuesta más abajo en esta pregunta para obtener todos los detalles.
Per Lundberg

46

Si solo desea SignTool y realmente desea minimizar la instalación, aquí hay una forma en la que simplemente hice ingeniería inversa para:

  1. Descargue el .isoarchivo de https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk (el enlace de descarga actual es http://go.microsoft.com/fwlink/p/?LinkID=2022797 ) La .exedescarga no funcionará , ya que es un instalador en línea que elimina sus dependencias en tiempo de ejecución.
  2. Desembale .isocon una herramienta como 7-zip .
  3. Instale el Installers/Windows SDK Signing Tools-x86_en-us.msiarchivo: solo tiene 388 KiB de tamaño. Como referencia, extrae sus archivos de los siguientes .cabarchivos, por lo que también son necesarios para una instalación independiente:
    • 4c3ef4b2b1dc72149f979f4243d2accf.cab (339 KiB)
    • 685f3d4691f444bc382762d603a99afc.cab (1002 KiB)
    • e5c4b31ff9997ac5603f4f28cd7df602.cab (389 KiB)
    • e98fa5eb5fee6ce17a7a69d585870b7c.cab (1,2 MiB)

Ahí vamos: ahora tendrá el signtool.exearchivo y los complementos en C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64(reemplácelo x64con x86, armo arm64si lo necesita para otra arquitectura de CPU).


También es posible comprometer signtool.exey los otros archivos de esta carpeta en su repositorio de control de versiones si desea utilizarlo, por ejemplo, en escenarios de CI. Lo he probado y parece funcionar bien.

( Es probable que todos los archivos no sean necesarios, ya que también hay algunas otras .exeherramientas en esta carpeta que podrían ser responsables de estas dependencias, pero no estoy seguro de cuáles podrían eliminarse para hacer que el conjunto de archivos sea aún más pequeño. Alguien más puede investigar más en esta área. :) Traté de copiar signtool.*y eso no funcionó, por lo que se necesitan al menos algunos de los otros archivos).


1
De hecho, esto es todo lo que tiene que hacer para que signtool.exe se instale.
antes del

Gran sugerencia. Fácil de implementar. Gracias por averiguarlo y publicar su solución aquí.
RobertFrank

Perfecto. Solo necesitaba la signtool. Nada de la pelusa extra. Por cierto, hacer clic derecho en los archivos .cab y seleccionar installno funcionó para mí. Recibí el errorThe system cannot find the file specified.
frakman1

2
Aún más fácil: monte el .iso y luego ejecute "Installers \ Windows SDK Signing Tools-x86_en-us"
Russell Phillips

@RussellPhillips Sí, eso es básicamente lo que digo arriba. Para algunos casos de uso, montar el .isoes más fácil, pero para otros, es posible que desee tomar el binario junto con todas las dependencias (por ejemplo, registrarse signtool.exey sus amigos en su repositorio de git y firmar compilaciones en AppVeyor, Jenkins, etc.)
Per Lundberg

22

Es 2019 ahora :) Para cualquiera que se pregunte, aquí es donde lo encontrará:

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

Captura de pantalla:


ingrese la descripción de la imagen aquí

Editar: Todavía en el mismo lugar en 2020.


Visual Studio 2019 v.16.5.4. y Windows 10 SDK (10.0.18362.0): esta respuesta es la correcta para mí. (Ambas versiones son las más recientes en el momento de escribir este artículo - 29.04.2020)
Derptastic

20

Según los comentarios en la pregunta ... En Windows 10, Signtool.exe y otras herramientas SDK se han movido a "% programfiles (x86)% \ Windows Kits \" .

Ruta típica a signtool en Windows 10.

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

Las herramientas para SDK 8.0 y 8.1 también se encuentran en la carpeta "Kits de Windows".


4
Eso no responde la pregunta. ¿Cómo se instala en primer lugar? No hay nada en esas carpetas en mi sistema, incluso con Visual Studio instalado.
NickG

+1 Trabajé aquí en la caja de Windows 10: usando el instalador principal de Visual Studio, tuve que instalar el SDK de Win 10 (NO 8.1) y luego tuve SignTool.exe
Tino Mclaren

6

Ubicación:

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

Solo cuando haya instalado Windows 10 SDK.
Yannici

2

En 2019, este es un enlace bastante reciente de Microsoft sobre cómo obtener esta herramienta:

La herramienta SignTool es una herramienta de línea de comandos que firma digitalmente archivos, verifica firmas en archivos o marcas de tiempo en archivos. Para obtener información sobre la importancia de firmar archivos, consulte Introducción a la firma de código. La herramienta se instala en la carpeta \ Bin de la ruta de instalación del Kit de desarrollo de software (SDK) de Microsoft Windows.

SignTool está disponible como parte del SDK de Windows, que puede descargar desde https://go.microsoft.com/fwlink/p/?linkid=84091 .

Solo necesitaba signtool, así que elegí el mínimo que se me ocurrió y signtool.exe ahora está en C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe

Selección de instalación

Enlace al artículo de Microsoft: https://docs.microsoft.com/en-us/windows/win32/seccrypto/signtool


2

28 de abril de 2020

Lo encontré aquí:

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

1

Si está utilizando VS Express 2015, simplemente vaya a su panel de control -> programas y características -> seleccione vs 2015 -> haga clic en cambiar, luego en el instalador de VS Express seleccione 'Modificar' -> seleccione Herramientas de publicación, y acaba. Una vez que la instalación complete los cambios, podrá crear su instalador.


Gracias. Estaba destrozando mi cerebro tratando de publicar.
Brack

1

Debe ir al Panel de control -> Programas y características, buscar Microsoft Visual Studio 2015 y seleccionar "Cambiar". Se iniciará la instalación de Visual Studio 2015. Seleccione "Modificar".

En la lista de componentes de Visual Studio, abra la lista de subelementos y seleccione "Herramientas de publicación ClickOnce" y "Windows 10 SDK" también.


0

Hice una modificación con Visual Studio desde el Panel de control, Programas y características. El SDK no era aparente al principio, así que instalé las herramientas comunes que, he aquí, incluían la Actualización 3 del SDK.


¿Ha enfrentado el problema descrito en la pregunta y lo que describe lo solucionó? Por favor aclare eso en su respuesta. Saludos cordiales
YakovL

0

Está disponible en muchos, muchos lugares, dependiendo de lo que esté instalado: en mi caja, todos excepto la versión v6.0A SDK admiten la opción / fd.

ingrese la descripción de la imagen aquí


0

SignTool está disponible como parte del SDK de Windows (que viene con Visual Studio Community 2015 ). Asegúrese de seleccionar las " Herramientas de publicación ClickOnce " de la lista de funciones durante la instalación de Visual Studio 2015 para obtener SignTool.

Herramientas de publicación ClickOnce

Una vez que Visual Studio está instalado, puede ejecutar el signtoolcomando desde el símbolo del sistema de Visual Studio .

De forma predeterminada (en Windows 10), SignTool se instalará en:

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

0

para instalar solo las herramientas de firma de winsdksetup.exe (disponible en la misma url que la iso de Windows SDK mencionada anteriormente) esta es una opción para, directamente desde el Dockerfile en el que estoy trabajando: EJECUTAR powershell Start-Process winsdksetup.exe -ArgumentList '/ features OptionId.SigningTools', '/ q', '/ ceip off', '/ norestart', -NoNewWindow -Wait

entonces, si está en Windows, entonces sería: winsdksetup.exe / features OptionId.SigningTools

winsdksetup / h le da las opciones, así que no las resumiré aquí. Incluyo el fragmento de dockerfile, ya que eso es lo que comencé mi día buscando la solución.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.