Como instalar SignTool.exe para Windows 10


94

Como instalar SignTool.exe no Visual Studio 2015 para Windown 10? Tentei construir meu projeto, mas o programa gerou um erro:

Erro Ocorreu um erro ao assinar: SignTool.exe não encontrado.


tente dar uma olhada em% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin se a ferramenta existir. Consulte blogs.msdn.com/b/vsnetsetup/archive/2013/11/18/… .
jtabuloc

@JrTabuloc Estou usando o VS 2015 e não tenho signtool.exe em% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin
Loint

4
Windows 10 WDK é instalado por padrão no caminho "% ProgramFiles (x86)% \ Windows Kits \ 10". Tente olhar em "% ProgramFiles (x86)% \ Windows Kits \ 10 \ bin \ x86" se a ferramenta já existe.
Hal

Você também pode tentar usar os caminhos "% WindowsSdkDir% \ bin \ x86" ou "% WindowsSdkDir% \ bin \ x64". Se você não tiver a variável de ambiente "% WindowsSdkDir%" no shell da linha de comando, pode chamar algo como "% VS140COMNTOOLS% .. \ .. \ vc \ vcvarsall.bat" para ela.
Hal

@hal Eu encontrei signtool.exe e copiei em% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0 \ Bin. Tentei construir a solução novamente, mas Error An error occurred while signing: Failed to sign bin\Debug\app.publish\LotusGenCode.exe. SignTool Error: Invalid option: /fd LotusGenCode
gerou

Respostas:


121

Você precisa instalar o Windows 10 SDK.

  1. O Visual Studio 2015 Update 1 já o contém, mas não é instalado por padrão. Você deve ir ao Painel de Controle -> Programas e Recursos, encontrar o Microsoft Visual Studio 2015 e selecionar "Alterar".

A configuração do Visual Studio 2015 será iniciada. Selecione "Modificar".

Na lista de componentes do Visual Studio, encontre "Ferramentas de desenvolvimento de aplicativos universais do Windows", abra a lista de subitens e selecione "Windows 10 SDK (10.0.10240)".

Windows 10 SDK na configuração da atualização 1 do VS 2015

  1. Claro, você pode instalar o SDK do Windows 10 diretamente da Microsoft: https://go.microsoft.com/fwlink/?LinkID=698771

Como josant já escreveu - quando a instalação terminar você encontrará o SignTool.exe nas pastas:

  • x86 -> c: \ Arquivos de programas (x86) \ Windows Kits \ 10 \ bin \ x86
  • x64 -> c: \ Arquivos de programas (x86) \ Windows Kits \ 10 \ bin \ x64 \

27
Pelo que vale a pena, se tudo que você precisa é signtool.exe, no instalador do SDK 10, o único recurso que você precisa habilitar é o Windows Software Development Kit que economiza cerca de 400 MB. Não muito, mas é alguma coisa.
mateuscb

3
@Steve Bem-vindo ao maravilhoso mundo do desenvolvimento do Windows, onde o inchaço é uma característica
gillonba

3
O último número de hoje para o Visual Studio 2017 exigiu 6,28 GB para esta ferramenta.
hughes de

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 de

1
@mateuscb Pesquisei um pouco mais sobre isso e sim, você está certo - funciona bem para evitar a instalação por completo e apenas copiar os arquivos. Veja minha resposta mais abaixo nesta pergunta para os detalhes completos.
Per Lundberg,

47

Se você deseja apenas o SignTool e realmente deseja minimizar a instalação, aqui está uma maneira que fiz a engenharia reversa para:

  1. Baixe o .isoarquivo em https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk (o link de download atual é http://go.microsoft.com/fwlink/p/?LinkID=2022797 ) O .exedownload não funcionará , pois é um instalador online que puxa para baixo suas dependências em tempo de execução.
  2. Desembale o .isocom uma ferramenta como o 7-zip .
  3. Instale o Installers/Windows SDK Signing Tools-x86_en-us.msiarquivo - ele tem apenas 388 KiB. Para referência, ele extrai seus arquivos dos seguintes .cabarquivos, portanto, eles também são necessários para uma instalação autônoma:
    • 4c3ef4b2b1dc72149f979f4243d2accf.cab (339 KiB)
    • 685f3d4691f444bc382762d603a99afc.cab (1002 KiB)
    • e5c4b31ff9997ac5603f4f28cd7df602.cab (389 KiB)
    • e98fa5eb5fee6ce17a7a69d585870b7c.cab (1,2 MiB)

Pronto - agora você terá o signtool.exearquivo e seus acompanhantes C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64(substitua x64por ou x86, se necessário, para outra arquitetura de CPU).armarm64


Também é possível confirmar signtool.exee os outros arquivos desta pasta em seu repositório de controle de versão se quiser usá-lo, por exemplo, em cenários de CI. Eu tentei e parece funcionar bem.

( Provavelmente, todos os arquivos não são necessários, pois também existem algumas outras .exeferramentas nesta pasta que podem ser responsáveis ​​por essas dependências, mas não tenho certeza de quais poderiam ser removidas para tornar o conjunto de arquivos ainda menor. Alguém está livre para investigar mais adiante nesta área. :) Tentei apenas copiar signtool.*e não funcionou, então pelo menos alguns dos outros arquivos são necessários.)


1
Na verdade, isso é tudo que você precisa fazer para instalar o signtool.exe.
predi de

Ótima sugestão. Fácil de implementar. Obrigado por descobrir e postar sua solução aqui.
RobertFrank

Perfeito. Eu só precisava da placa sinalizadora. Nenhum dos fluff extra. A propósito, clicar com o botão direito do mouse nos arquivos .cab e selecionar installnão funcionou para mim. Recebi o erroThe system cannot find the file specified.
frakman1

2
Ainda mais fácil: monte o .iso e execute "Installers \ Windows SDK Signing Tools-x86_en-us"
Russell Phillips

@RussellPhillips Sim, é basicamente o que declarei acima. Para alguns casos de uso, montar o .isoé mais fácil, mas para outros, você pode querer pegar o binário junto com todas as dependências (por exemplo, fazer check-in signtool.exee amigos em seu repositório git e assinar compilações no AppVeyor, Jenkins etc.)
Por Lundberg

23

É 2019 agora :) Para quem está se perguntando, aqui é onde você vai encontrar:

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

Captura de tela:


insira a descrição da imagem aqui

Edit: Ainda no mesmo lugar em 2020.


Visual Studio 2019 v.16.5.4. e Windows 10 SDK (10.0.18362.0) - esta resposta é a correta para mim. (ambas as versões são as mais recentes no momento da escrita
29/04/2020

21

De acordo com os comentários na pergunta ... No Windows 10, Signtool.exe e outras ferramentas SDK foram movidas para "% programfiles (x86)% \ Windows Kits \" .

Caminho típico para signtool no Windows 10.

  • 32 bits = "c: \ Arquivos de programas (x86) \ Windows Kits \ 10 \ bin \ x86 \ signtool.exe"
  • 64 bits = "c: \ Arquivos de programas (x86) \ Windows Kits \ 10 \ bin \ x64 \ signtool.exe"

As ferramentas para SDK 8.0 e 8.1 também residem na pasta "Kits do Windows".


4
Isso não responde à pergunta. Como você instala em primeiro lugar? Não há nada nessas pastas em meu sistema - mesmo com o Visual Studio instalado.
NickG

+1 Trabalhei aqui no box do Windows 10 - Usando o instalador principal do Visual Studio tive que instalar o Win 10 SDK (NÃO 8.1) então tive SignTool.exe
Tino Mclaren

6

Localização:

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

Somente quando você tiver instalado o Windows 10 SDK.
Yannici

2

Em 2019, este é um link bastante recente da Microsoft sobre como obter esta ferramenta:

A ferramenta SignTool é uma ferramenta de linha de comando que assina arquivos digitalmente, verifica assinaturas em arquivos ou arquivos de registro de data e hora. Para obter informações sobre por que assinar arquivos é importante, consulte Introdução à assinatura de código. A ferramenta é instalada na pasta \ Bin do caminho de instalação do Microsoft Windows Software Development Kit (SDK).

SignTool está disponível como parte do Windows SDK, que você pode baixar em https://go.microsoft.com/fwlink/p/?linkid=84091 .

Eu só precisava do signtool, então escolhi o mínimo que criei e o signtool.exe agora está em C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe

Seleção de instalação

Link do artigo da Microsoft: https://docs.microsoft.com/en-us/windows/win32/seccrypto/signtool


2

28 de abril de 2020

Eu encontrei aqui:

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

1

Se você estiver usando o VS Express 2015, vá para o painel de controle -> programas e recursos -> selecione vs 2015 -> clique em alterar e, em seguida, no instalador do VS Express selecione 'Modificar' -> selecione Ferramentas de publicação, e acabou. Assim que a configuração terminar as alterações, você poderá criar seu instalador.


Obrigado. Eu estava arrancando meu cérebro tentando publicar.
Brack

1

Você deve ir ao Painel de Controle -> Programas e Recursos, encontrar o Microsoft Visual Studio 2015 e selecionar "Alterar". A configuração do Visual Studio 2015 será iniciada. Selecione "Modificar".

Na lista de componentes do Visual Studio, abra a lista de subitens e selecione "ClickOnce Publication Tools" e "Windows 10 SDK" também.


0

Eu fiz uma modificação com o Visual Studio do Painel de Controle, Programas e Recursos. O SDK não estava aparente a princípio, então instalei as Ferramentas Comuns que, vejam só, incluíam a Atualização 3 do SDK.


Você enfrentou o problema descrito na pergunta e o que você descreveu corrigiu isso? Esclareça isso em sua resposta. Atenciosamente
YakovL

0

Está disponível em muitos, muitos lugares, dependendo do que está instalado: Na minha caixa, todos, exceto a versão v6.0A SDK, oferecem suporte à opção / fd.

insira a descrição da imagem aqui


0

SignTool está disponível como parte do Windows SDK (que acompanha o Visual Studio Community 2015 ). Certifique-se de selecionar " ClickOnce Publishing Tools " na lista de recursos durante a instalação do Visual Studio 2015 para obter o SignTool.

Ferramentas de publicação ClickOnce

Depois que o Visual Studio estiver instalado, você pode executar o signtoolcomando no Prompt de Comando do Visual Studio .

Por padrão (no Windows 10), o SignTool será instalado em:

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

0

para instalar apenas as ferramentas de assinatura do winsdksetup.exe (disponível no mesmo url que o Windows SDK iso mencionado acima), esta é uma opção para, direto do Dockerfile em que estou trabalhando: RUN powershell Start-Process winsdksetup.exe -ArgumentList '/ features OptionId.SigningTools', '/ q', '/ ceip off', '/ norestart', -NoNewWindow -Wait

então, se você estiver no Windows, será: winsdksetup.exe / features OptionId.SigningTools

winsdksetup / h fornece as opções, então não vou resumi-las aqui. Incluo o snippet dockerfile, pois foi para isso que comecei meu dia procurando a solução.


0

Melhor solução no final de 2020:

Basta baixar o SDK do Windows 10 da Microsoft aqui:
https://go.microsoft.com/fwlink/?LinkID=698771

Na configuração, escolha apenas o aplicativo de certificação de aplicativos do Windows (tem apenas 120 MB)

insira a descrição da imagem aqui

Você pode encontrar signtool.exe aqui:
% PROGRAMFILES (X86)% \ Windows Kits \ 10 \ bin \ x64

Felicidades!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.