Wystąpił błąd podczas podpisywania: Nie znaleziono SignTool.exe

102

Kiedy próbowałem zaktualizować mój projekt, który tworzyłem - po raz pierwszy dostałem błąd:

„Wystąpił błąd podczas podpisywania: Nie znaleziono SignTool.exe”.

Nigdy wcześniej tego nie widziałem, więc sprawdziłem, że SignTool.exe jest tym, co podpisuje mój projekt pod kątem wdrożenia ClickOnce.

Czytałem również, że jest to część zestawu Windows SDK - ale kiedy szukałem miejsca, w którym znajduje się SignTool.exe - zobaczyłem to właśnie tam!

  C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

Nie widziałem problemu i zawsze publikowałem swój projekt przez cały czas - jestem na wersji 68. Ale to pierwszy raz, kiedy to widziałem - nie dotykałem żadnych opcji, które by to zrobiły.

Jakaś pomoc?

Alex
źródło
Czy masz na komputerze kilka wersji programu Visual Studio i ostatnio uruchomiłeś kilka różnych wersji?
sll
Używam podglądu programisty systemu Windows, czy to wszystko?
Alex

Odpowiedzi:

7

Teraz spróbuj opublikować aplikację ClickOnce. Jeśli nadal występuje ten sam problem, sprawdź, czy zainstalowałeś w systemie Microsoft .NET Framework 4.5 Developer Preview. Microsoft .NET Framework 4.5 Developer Preview to wersja wstępna programu .NET Framework i nie powinna być używana w scenariuszach produkcyjnych. Jest to aktualizacja lokalna systemu .NET Framework 4. Należy odinstalować ten produkt w wersji wstępnej z ARP.

https://blogs.msdn.microsoft.com/vsnetsetup/2013/11/18/an-error-occured-while-signing-signtool-exe-not-found/

Na koniec możesz chcieć zainstalować podgląd klienta, zamiast być w podglądzie programisty

Micah Armantrout
źródło
2
Zaktualizowano o nową wersję
Micah Armantrout
2
Prawidłowa odpowiedź to der_meister i Alex Erygin
der_chirurg
1
nieaktualna odpowiedź
T.Todua
193

Narzędzia publikowania ClickOnce nie są instalowane w ramach opcji instalacji typowej. Musisz więc zainstalować go w trybie zaawansowanym. Instalacja ClickOnce

To okno dialogowe można znaleźć w systemie Windows 7, przechodząc do Panelu sterowania> Odinstaluj program , klikając prawym przyciskiem myszy Microsoft Visual Studio Professional 2015 i wybierając Change. Otworzy się okno dialogowe programu Visual Studio. Wybierz Modifyz zestawu przycisków na dole, a pojawi się powyższe okno dialogowe.

Alex Erygin
źródło
7
Tak, to działało dla mnie w Windows10. W Panelu sterowania zaktualizowałem instalację, aby zawierała narzędzia CickOnce Publishing Tools i zadziałało! Dziękuję Ci.
Nuno Nogueira
25
To jest poprawna odpowiedź dla osób, które mają z tym problemy w Visual Studio 2015.
Jaxidian
3
Wersja z linii poleceń jest: . "C: \ ProgramData \ Package Cache \ {90ac7cb6-f7f2-49d1-aa5d-d159d8e86e19} \ vs_professional.exe" / InstallSelectableItems ClickOnceV1 / S
stefan.seeland
60

Kliknij raz aplikacja -> Właściwości -> Podpisywanie -> Usuń zaznaczenie opcji Podpisz manifesty ClickOnce.

Problem zostanie rozwiązany.

Uwaga: pamiętaj, że to rozwiązanie usuwa zabezpieczenia z projektu. Zanim to zrobisz, poproś o pomoc bardziej uczonego kolegę.

Vignesh
źródło
31
To bardzo złe rozwiązanie.
Alex Erygin
1
Jestem doświadczonym programistą w Javie i Pythonie. Musiałem skompilować projekt C # w VS2015 na własny użytek. To jedyne rozwiązanie, które mogłem zrozumieć (z pomocą Google) na tej stronie.
chiffa
4
To nie jest rozwiązanie - jest powód, dla którego programy ClickOnce są podpisywane: jest to funkcja bezpieczeństwa, a nie coś, co
mogłoby
5
Ta odpowiedź odnosi się do „ignoruj ​​zabezpieczenia i pomóż moim użytkownikom w zarażeniu się”. NIE powinno to być rozwiązanie, z którego korzystasz. Jeśli nie zależy Ci na podpisaniu instalatora, powinieneś usunąć ustawienia instalatora / publikowania zamiast wyłączać zabezpieczenia !!
Jaxidian
5
To dobre rozwiązanie, ponieważ po prostu piszę małe narzędzie do użytku osobistego. Myślę, że powinno być: „Kliknij prawym przyciskiem myszy swój projekt - Właściwości - Podpisywanie - Usuń zaznaczenie opcji Podpisz manifest ClickOne”. Początkowo nie wiem jak „proszę kliknąć Po zastosowaniu”, to mylić z ClickOnce Narzędzia: D
Quan Nguyen
23

SignTool zostaje przeniesiony do innej lokalizacji w ostatnim SDK: C:\Program Files (x86)\Windows Kits\8.1\bin\x86

Musisz zainstalować narzędzia do publikowania ClickOnce podczas instalacji programu Visual Studio 2015.

Możesz ponownie uruchomić instalację z sekcji Programy i funkcje; znajdź program Visual Studio na liście i kliknij Zmień.

Der_Meister
źródło
Używam systemu Windows 10, nie mogę nigdzie znaleźć SignTool. Muszę odznaczyć opcję „Podpisz manifesty ClickOne”, aby uniknąć tego błędu.
witoong623
1
Używam Windows 10 i Visual Studio 2015 Community Edition. SignTool został zainstalowany po dodaniu pakietu ClickOnce Publishing Tools w konfiguracji VS.
Der_Meister
@Der_Meister Czy udało Ci się coś opublikować?
ralphgabb
1
To jest poprawna odpowiedź - rozczarowujące, że „Nie
podpisuj
1
Jeśli nie jest to dla nikogo oczywiste, ponowne uruchomienie instalatora pozwoli Ci dodać dodatkowe funkcje do instalacji VS - jest to bardzo jasne, gdy jest otwarty.
Brondahl
19

Możesz to naprawić, klikając aplikację instalacyjną VS. Następnie kliknij Modyfikuj> Oznacz aplikację ClickOnce, a następnie uaktualnij VS. Myślę też, że @Alex Erygin ma rację. Złym rozwiązaniem jest kliknięcie aplikacji raz -> Właściwości -> Podpisywanie -> Usuń zaznaczenie opcji Podpisz manifesty ClickOnce. To nie jest rozwiązanie. To tylko omijało problem.

Stoyan Petkov
źródło
4
okrążył
behelit
11

To prosta poprawka. Otwórz projekt, w którym pojawia się ten błąd. Kliknij „Projekt” u góry. Następnie kliknij „Właściwości” (będzie to nazwa otwartego projektu), a następnie kliknij „Zabezpieczenia”, a następnie odznacz „Włącz ustawienia zabezpieczeń ClickOnce”.

To powinno wszystko naprawić.

Joe Smith
źródło
Twoja poprawka zadziałała w naszym środowisku, w którym kod jest współdzielony między programistami używającymi SVN
Christopher Bonitz
1
Nie działa, ale po kliknięciu Podpisywanie -> Niezaznaczone [Podpisz manifesty ClickOnce] teraz działa ...
Monzur
Szybka naprawa. Dzięki!
user3772108
„To powinno wszystko naprawić” - z wyjątkiem zachowania bezpieczeństwa
MickyD
9

Kliknij „Projekt” u góry. Następnie kliknij „Właściwości” -> Podpisywanie -> Niezaznaczone [Podpisz manifesty ClickOnce] już działa

Monzur
źródło
7

Żadna z powyższych odpowiedzi nie dotyczy wyłączania ClickOnce. W mojej sytuacji nigdy nie używałem ClickOnce do moich aplikacji, ale po uaktualnieniu do VS 2015 został on nagle włączony i podczas próby kompilacji pojawił się komunikat o błędzie „Nie znaleziono SignTool.exe”.

Aby wyłączyć, przejdź do właściwości swojego projektu (kliknij prawym przyciskiem myszy) i wybierz opcję Bezpieczeństwo | Usuń zaznaczenie opcji Włącz ustawienia zabezpieczeń ClickOnce .

Możesz pozostawić manifest zaznaczony na karcie Podpisywanie, ponieważ nie ma nic do podpisania, jeśli został wyłączony.

Potwierdziłem, że usunięcie zaznaczenia zabezpieczeń rozwiązało błąd kompilacji w moich projektach.

Jjmboni
źródło
masz włączone publikowanie po kliknięciu, jedyne co zrobiłeś to usunięcie jego zabezpieczeń.
Mickey Perlstein
2

Potrzebowałem podpisu, dlatego nie mogłem usunąć zaznaczenia zgodnie z sugestią.

Następnie przejdź do Panelu sterowania -> Programy i funkcje -> Microsoft Visual Studio 2015 Kliknij Zmień, a następnie załaduje się instalator i musisz kliknąć Modyfikuj, aby dodać funkcję ClickOnce Publishing Tools.

Karthik
źródło
1

Miałem podobny problem. Z jakiegoś powodu we właściwościach projektu -> Podpisywanie -> Podpisz manifesty ClickOnce zostało włączone.

Odznaczyłem to i problem zniknął.

Chand
źródło
1

Użytkownicy systemu Windows 10 mogą znaleźć signtool.exew C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64folderze ( 10.0.18362.0w moim przypadku lub w innej wersji).


Ale najpierw upewnij się, że masz zainstalowany zestaw SDK systemu Windows 10

Następnie sprawdź, czy Windows SDK Signing Tools for Desktop Appsjest zainstalowany, przechodząc do Control Panel > Programs > Programs and Features, wybierz Windows Software Development Kit - Windows 10.0.18362.1 (w moim przypadku twoja wersja może być inna), kliknij prawym przyciskiem myszy, wybierz Change, wybierz opcje, Changea następnie kliknij Next.

Tan Le
źródło
1

Miałem ten sam problem / komunikat o błędzie tuż po uaktualnieniu programu Visual Studio Pro 2019 w wersji 16.6.0. Rozwiązaniem było upewnienie się, że certyfikat podpisujący jest ważny, ponieważ mój wygasł o jeden dzień.

Sprawdź właściwości i podpisywanie, aby wprowadzić ważny lub tymczasowy certyfikat. Aby zachować taką samą nazwę pliku, jak poprzednio, odznacz zabezpieczenie, jak wspomniano powyżej, a następnie usuń plik klucza powiązany z programem.

Utwórz nowy plik klucza, a następnie dodaj ponownie zabezpieczenia.

James
źródło
0

Po uaktualnieniu narzędzi do kompilacji w agencie kompilacji DevOps do programu Visual Studio 2019, zaczęliśmy otrzymywać poniższy błąd dla kroku kompilacji 64-bitowej aplikacji WPF.

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ amd64 \ Microsoft.Common.CurrentVersion.targets (3975,5): błąd MSB3482: Wystąpił błąd podczas podpisywania: SignTool.exe nie został znaleziony na ścieżce

Wypróbowałem wszystkie powyższe odpowiedzi z wyjątkiem tych, które wyłączały podpisywanie lub zabezpieczenia podpisywania i nic nie pomogło.

Wyłączono domyślny krok MSBUILD wprowadź opis obrazu tutaj

Dodano krok zachęty cmd wprowadź opis obrazu tutaj

Ścieżka to „C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ MsBuild.exe”

Uwaga : usunięto amd64 z powyższej ścieżki.

To wciąż jest obejście. Mam nadzieję, że Microsoft naprawi to w następnym wydaniu.

Sundeep
źródło