Falha na assinatura do Visual Studio (erro signtool.exe)

9

Depois de aceitar uma pequena atualização do Windows hoje à tarde, descobri que não podia mais criar versões assinadas do meu aplicativo Visual Studio.

Indo para o problema, deparei-me com o programa signtool.exe, localizado em um diretório obscuro (C: \ Arquivos de Programas (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x64). Usando o prompt de comando, tentei executá-lo manualmente para assinar meu aplicativo, mas quando o fiz, nada aconteceu: nenhuma saída, nenhuma mensagem de erro. Também tentei executá-lo sem parâmetros esperando uma mensagem de ajuda ou pelo menos um erro, mas, novamente, nada.

Fui para outro computador que ainda não havia recebido nenhuma atualização do Windows hoje, encontrei o mesmo arquivo e o executei: e funcionou bem.

Pensando que eu deveria ter um arquivo .exe danificado no primeiro computador, copiei a versão do outro computador, mas ela ainda falhou. No entanto, se eu renomear o arquivo, ele será executado. Por exemplo, se eu renomeá-lo para "signtool1.exe", posso executá-lo na linha de comando, embora o Visual Studio ainda não possa executá-lo devido à alteração de nome.

Tentei reiniciar o computador várias vezes durante esse processo, pensando que talvez houvesse uma cópia dele presa na memória, mas não existe. Também procurei no Gerenciador de tarefas.

Eu nunca vi nada assim antes. O mesmo programa executa ou não faz nada, dependendo do nome do arquivo executável. Mais um detalhe, ele é executado independentemente do nome do arquivo se eu copiá-lo para o meu diretório pessoal. O que poderia causar uma coisa dessas?

Obrigado Frank

user92238
fonte
O Win10 não mostra mais a caixa de diálogo de falha quando um processo falha. Algo que você deve consertar na máquina de um programador. Procure no log de eventos do aplicativo a notificação de falha.
Hans Passant
Eu tive o mesmo problema. Corrigi-o com a dica de @ xperia64 abaixo. No entanto, este link também pode ser relevante. Microsoft admite problemas importantes no Windows 10 KB453599
Neil Weicher

Respostas:

11

Em vez de renomear signtool.exe, descobri que renomear / remover signtool.exe.manifest permite que o signtool seja executado, além de permitir que o Visual Studio o execute.

Não sei por que isso está acontecendo ou quais são os efeitos colaterais da remoção do manifesto, mas é suficiente para o meu projeto ser construído novamente.

Para referência, encontrei esse problema depois de fazer uma instalação limpa do VS2019 em uma VM limpa do Windows 10 1909 (mas totalmente atualizada logo em seguida).

xperia64
fonte
11
Obrigado, remover o arquivo de manifesto também funcionou para mim.
Frank LaRosa
7

Estou vendo o mesmo problema. O Signtool não exibe nenhuma caixa de diálogo de erro, mas o código de erro retornado é -1073741502 (0xC0000142), STATUS_DLL_INIT_FAILED.

O problema pode estar relacionado à atualização KB4535996. Eu desinstalei a atualização quando vi o problema e a ferramenta de ferramentas funcionou normalmente. O problema retornou quando eu reinstalei a atualização.

O Signtool funciona se eu mover o arquivo de manifesto para fora do diretório, como você viu. Mas também notei que o signtool funciona quando movo o manifesto de volta para o diretório.

Jim B
fonte
2

Aqui está um relatório de bug no Windows Feedback Hub. Voto positivo no relatório de erros KB4535996.

d1no
fonte