Nachdem ich heute Nachmittag ein kleines Windows-Update akzeptiert hatte, stellte ich fest, dass ich keine signierten Builds meiner Visual Studio-Anwendung mehr erstellen konnte.
Als ich mich mit dem Problem befasste, stieß ich auf das Programm signtool.exe, das sich in einem dunklen Verzeichnis befindet (C: \ Programme (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x64). Über die Eingabeaufforderung habe ich versucht, sie manuell auszuführen, um meine App zu signieren. Dabei ist jedoch nichts passiert: keine Ausgabe, keine Fehlermeldung. Ich habe auch versucht, es ohne Parameter auszuführen, die eine Hilfemeldung oder zumindest einen Fehler erwarten, aber auch hier nichts.
Ich ging zu einem anderen Computer, der heute noch keine Windows-Updates erhalten hatte, fand dieselbe Datei und führte sie aus: und es funktionierte einwandfrei.
Ich dachte, ich hätte eine beschädigte EXE-Datei auf dem ersten Computer gehabt, und kopierte die Version vom anderen Computer, aber sie schlug immer noch fehl. Wenn ich die Datei jedoch umbenenne, wird sie ausgeführt. Wenn ich es beispielsweise in "signtool1.exe" umbenenne, kann ich es problemlos über die Befehlszeile ausführen, obwohl Visual Studio es aufgrund der Namensänderung immer noch nicht ausführen kann.
Ich habe während dieses Vorgangs mehrmals versucht, meinen Computer neu zu starten, weil ich dachte, dass möglicherweise eine Kopie davon im Speicher steckt, aber es gibt keine. Ich habe auch im Task-Manager danach gesucht.
Ich habe so etwas noch nie gesehen. Das gleiche Programm wird ausgeführt oder tut nichts, abhängig vom Namen der ausführbaren Datei. Noch ein Detail, es läuft tatsächlich unabhängig vom Dateinamen, wenn ich es in mein Home-Verzeichnis kopiere. Was könnte so etwas verursachen?
Danke, Frank
quelle
Antworten:
Anstatt signtool.exe umzubenennen, stellte ich fest, dass durch das Umbenennen / Entfernen von signtool.exe.manifest signtool ausgeführt werden kann und Visual Studio weiterhin ausgeführt werden kann.
Ich weiß nicht, warum dies geschieht oder welche Nebenwirkungen das Entfernen des Manifests hat, aber es reicht aus, wenn mein Projekt erneut erstellt wird.
Als Referenz trat dieses Problem auf, nachdem ich eine saubere VS2019-Installation in einer sauberen Windows 10 1909-VM durchgeführt hatte (die jedoch kurz darauf vollständig aktualisiert wurde).
quelle
Ich sehe das gleiche Problem. Signtool zeigt keine Fehlerdialoge an, aber der zurückgegebene Fehlercode lautet -1073741502 (0xC0000142), STATUS_DLL_INIT_FAILED.
Das Problem könnte mit dem Update KB4535996 zusammenhängen. Ich habe das Update deinstalliert, als ich das Problem sah und signtool normal funktionierte. Das Problem trat zurück, als ich das Update neu installierte.
Signtool funktioniert, wenn ich die Manifestdatei aus dem Verzeichnis verschiebe, genau wie Sie es gesehen haben. Mir ist aber auch aufgefallen, dass signtool funktioniert, wenn ich das Manifest wieder in das Verzeichnis verschiebe.
quelle
Hier ist ein Fehlerbericht im Windows Feedback Hub. Bitte stimmen Sie dem KB4535996-Fehlerbericht zu.
quelle