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
fonte
Respostas:
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).
fonte
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.
fonte
Aqui está um relatório de bug no Windows Feedback Hub. Voto positivo no relatório de erros KB4535996.
fonte