Błąd podpisywania w Visual Studio (błąd signtool.exe)


9

Po zaakceptowaniu niewielkiej aktualizacji systemu Windows tego popołudnia stwierdziłem, że nie mogę już tworzyć podpisanych wersji mojej aplikacji Visual Studio.

Wnikając w problem, natknąłem się na program signtool.exe, który znajduje się w niejasnym katalogu (C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x64). Korzystając z wiersza polecenia, próbowałem ręcznie uruchomić go w celu podpisania aplikacji, ale kiedy to zrobiłem, nic się nie wydarzyło: brak danych wyjściowych, brak komunikatu o błędzie. Próbowałem też uruchomić go bez parametrów oczekujących komunikatu pomocy lub przynajmniej błędu, ale znowu nic.

Poszedłem na inny komputer, który nie otrzymał dziś żadnych aktualizacji systemu Windows, znalazłem ten sam plik i uruchomiłem go: i działał dobrze.

Myśląc, że musiałem mieć uszkodzony plik .exe na pierwszym komputerze, skopiowałem wersję z drugiego komputera, ale nadal nie udało się. Jeśli jednak zmienię nazwę pliku, zostanie on uruchomiony. Na przykład, jeśli zmienię nazwę na „signtool1.exe”, mogę go uruchomić z wiersza poleceń, chociaż Visual Studio nadal nie może go uruchomić z powodu zmiany nazwy.

Podczas tego procesu kilkakrotnie próbowałem ponownie uruchomić komputer, myśląc, że może jego kopia utknęła w pamięci, ale tak nie jest. Szukałem go również w Menedżerze zadań.

Nigdy wcześniej czegoś takiego nie widziałem. Ten sam program działa lub nie robi nic w zależności od nazwy pliku wykonywalnego. Jeszcze jeden szczegół, w rzeczywistości działa niezależnie od nazwy pliku, jeśli skopiuję go do mojego katalogu domowego. Co może spowodować coś takiego?

Dzięki, Frank


Win10 nie wyświetla już okna dialogowego awarii, gdy proces się nie powiedzie. Coś, co powinieneś naprawić na komputerze programisty. Poszukaj powiadomienia o awarii w dzienniku zdarzeń aplikacji.
Hans Passant

Natrafiłem na ten sam problem. Naprawiłem to wskazówką z @ Xperia64 poniżej. Jednak ten link może być również istotny Microsoft przyznaje poważne problemy z Windows 10 KB453599
Neil Weicher

Odpowiedzi:


11

Zamiast zmiany nazwy signtool.exe odkryłem, że zmiana nazwy / usunięcie signtool.exe.manifest pozwala na uruchomienie signtool, a jednocześnie pozwala na uruchomienie programu Visual Studio.

Nie wiem, dlaczego tak się dzieje ani jakie są skutki uboczne usunięcia manifestu, ale wystarczy, że mój projekt będzie mógł ponownie zbudować.

Dla odniesienia napotkałem ten problem po przeprowadzeniu czystej instalacji VS2019 na czystej maszynie Wirtualnej systemu Windows 10 1909 (ale w pełni zaktualizowanej wkrótce potem).


1
Dzięki, usunięcie pliku manifestu również działało dla mnie.
Frank LaRosa

7

Widzę ten sam problem. Signtool nie wyświetla żadnych okien dialogowych błędów, ale zwracany kod błędu to -1073741502 (0xC0000142), STATUS_DLL_INIT_FAILED.

Problem może być związany z aktualizacją KB4535996. Odinstalowałem aktualizację, gdy zobaczyłem problem i signtool działał normalnie. Problem powrócił po ponownym zainstalowaniu aktualizacji.

Signtool działa, jeśli przeniesie plik manifestu z katalogu, tak jak widzieliście. Ale zauważyłem również, że signtool działa, gdy przenoszę manifest z powrotem do katalogu.


2

Oto raport o błędach w Centrum opinii Windows. Głosuj za raportem błędu KB4535996.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.