La signature de Visual Studio a échoué (erreur signtool.exe)

9

Après avoir accepté une mise à jour mineure de Windows cet après-midi, j'ai constaté que je ne pouvais plus créer de versions signées de mon application Visual Studio.

En creusant le problème, je suis tombé sur le programme signtool.exe qui se trouve dans un répertoire obscur (C: \ Program Files (x86) \ Kits Windows \ 10 \ bin \ 10.0.18362.0 \ x64). En utilisant l'invite de commande, j'ai essayé de l'exécuter manuellement pour signer mon application, mais quand je l'ai fait, rien ne s'est produit: aucune sortie, aucun message d'erreur. J'ai également essayé de l'exécuter sans paramètres attendant un message d'aide ou au moins une erreur, mais encore une fois, rien.

Je suis allé sur un autre ordinateur qui n'avait pas encore reçu de mises à jour Windows aujourd'hui, j'ai trouvé le même fichier et l'ai exécuté: et cela a bien fonctionné.

Pensant que je devais avoir un fichier .exe endommagé sur le premier ordinateur, j'ai copié la version de l'autre ordinateur, mais cela a quand même échoué. Cependant, si je renomme le fichier, il s'exécute. Par exemple, si je le renomme «signtool1.exe», je peux l'exécuter à partir de la ligne de commande très bien, même si Visual Studio ne peut toujours pas l'exécuter en raison du changement de nom.

J'ai essayé de redémarrer mon ordinateur plusieurs fois au cours de ce processus en pensant qu'il y en avait peut-être une copie en mémoire, mais ce n'est pas le cas. Je l'ai également recherché dans le Gestionnaire des tâches.

Je n'ai jamais rien vu de tel auparavant. Le même programme s'exécute ou ne fait rien en fonction du nom du fichier exécutable. Encore un détail, il s'exécute indépendamment du nom de fichier si je le copie dans mon répertoire personnel. Qu'est-ce qui pourrait provoquer une telle chose?

Merci, Frank

user92238
la source
Win10 n'affiche plus la boîte de dialogue de plantage lorsqu'un processus échoue. Quelque chose que vous devriez corriger sur la machine d'un programmeur. Recherchez dans le journal des événements d'application la notification de plantage.
Hans Passant
J'ai rencontré le même problème. Je l'ai corrigé avec la pointe de @ xperia64 ci-dessous. Cependant, ce lien peut également être pertinent Microsoft admet des problèmes majeurs avec Windows 10 KB453599
Neil Weicher

Réponses:

11

Au lieu de renommer signtool.exe, j'ai trouvé que renommer / supprimer signtool.exe.manifest permet à signtool de s'exécuter tout en permettant à Visual Studio de l'exécuter.

Je ne sais pas pourquoi cela se produit ni quels sont les effets secondaires de la suppression du manifeste, mais il suffit que mon projet se reconstruise.

Pour référence, j'ai rencontré ce problème après avoir effectué une installation VS2019 propre dans une machine virtuelle Windows 10 1909 propre (mais entièrement mise à jour peu de temps après).

xperia64
la source
1
Merci, la suppression du fichier manifeste a également fonctionné pour moi.
Frank LaRosa
7

Je vois le même problème. Signtool n'affiche aucune boîte de dialogue d'erreur mais le code d'erreur renvoyé est -1073741502 (0xC0000142), STATUS_DLL_INIT_FAILED.

Le problème peut être lié à la mise à jour KB4535996. J'ai désinstallé la mise à jour lorsque j'ai vu le problème et signtool a fonctionné normalement. Le problème est revenu lorsque j'ai réinstallé la mise à jour.

Signtool fonctionne si je déplace le fichier manifeste hors du répertoire, comme vous l'avez vu. Mais j'ai également remarqué que signtool fonctionne lorsque je replace le manifeste dans le répertoire.

Jim B
la source