Під час підписання сталася помилка: SignTool.exe не знайдено


102

Поки я намагався оновити свій проект, який я робив - я вперше побачив помилку:

"Під час підпису сталася помилка: SignTool.exe не знайдено."

Я ніколи цього не бачив, тому я шукав, що SignTool.exe - це те, що підписує мій проект для ClickOnce Deployment.

Я також читав, що це частина Windows SDK - але коли я подивився, де знайти SignTool.exe - я побачив це саме там!

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

Я не бачив жодних проблем, і я весь час публікував свій Проект - я перебуваю на версії 68. Але це вперше я бачив це - я не торкнувся жодних варіантів, які могли б це зробити.

Будь-яка допомога?


Чи є у вас кілька версій Visual Studio на вашій машині та запущено кілька різних версій останнім часом?
sll

Я використовую попередній перегляд розробника Windows, це?
Алекс

Відповіді:


7

Тепер спробуйте опублікувати додаток ClickOnce. Якщо ви все-таки знайдете ту саму проблему, перевірте, чи встановлено у системі Microsoft .NET Framework 4.5 Preview Developer Preview. Попередній перегляд розробника Microsoft .NET Framework 4.5 є попередньою версією .NET Framework і не повинен використовуватися у виробничих сценаріях. Це місцеве оновлення до .NET Framework 4. Вам потрібно буде видалити цей попередньо випущений продукт з ARP.

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

Нарешті, ви можете встановити попередній перегляд клієнта, а не переглядати розробник


2
Оновлено нову версію
Micah Armantrout

2
Правильна відповідь - der_meister та Alex Erygin
der_chirurg

1
застаріла відповідь
Т.Тодуа

193

Інструменти публікації ClickOnce не встановлюються як частина Типових параметрів установки. Тому вам доведеться встановлювати його в розширеному режимі. Установка ClickOnce

Це діалогове вікно можна знайти в Windows 7, перейшовши на Панель управління> Видалити програму , клацнувши правою кнопкою миші на Microsoft Visual Studio Professional 2015 та вибравши Change. Відкриється діалогове вікно Visual Studio. Виберіть Modifyіз набору кнопок внизу, і з’явиться вищезазначене діалогове вікно.


7
Так, це працювало для мене в Windows10. На Панелі керування я оновив установку, щоб включити CickOnce Publishing Tools, і вона спрацювала! Дякую.
Nuno Nogueira

25
Це правильна відповідь для людей, які мають проблеми з цим у Visual Studio 2015.
Jaxidian

3
Версія командного рядка: . "C: \ ProgramData \ Package Cache \ {90ac7cb6-f7f2-49d1-aa5d-d159d8e86e19} \ vs_professional.exe" / InstallSelectableItems ClickOnceV1 / S
stefan.seeland

60

Будь ласка, натисніть Один раз додаток -> Властивості -> Підписання -> Скасуйте позначку Підписати маніфести ClickOnce

Проблема буде вирішена.

Примітка. Майте на увазі, що це рішення знімає безпеку з вашого проекту. Шукайте допомогу у більш вивченого колеги, перш ніж це робити.


31
Це дуже погане рішення.
Олексій Еригін

1
Я казковий досвідчений програміст на Java та Python. Мені потрібно було скласти проект C # у VS2015 для власного використання. Це єдине рішення, яке я міг зрозуміти (за допомогою Google) на цій сторінці.
chiffa

4
Це не рішення - є причина, що програми ClickOnce підписуються: це функція безпеки, а не те, що дратувати розробників
Брондаль

5
Ця відповідь стосується "ігнорування безпеки та допомоги моїм користувачам заразитися". Це НЕ повинно бути рішенням, з яким ви йдете. Якщо ви не переймаєтесь підписанням інсталятора, тоді вам слід видалити налаштування інсталятора / опублікувати замість відключення безпеки !!
Jaxidian

5
Це хороше рішення, оскільки я просто записую невеликий інструмент для особистого користування. Я думаю, що це має бути: "Клацніть правою кнопкою миші на вашому проекті - Властивості - Підписання - Зніміть позначку маніфесту ClickOne". Спочатку я не знаю, як "Будь ласка, натисніть один раз додаток", його плутають із засобами ClickOnce: D
Quan Nguyen

23

SignTool переміщено в інше місце в останньому SDK: C:\Program Files (x86)\Windows Kits\8.1\bin\x86

Потрібно встановити інструменти публікації ClickOnce під час налаштування Visual Studio 2015.

Ви можете запустити інсталяцію з розділу Програми та функції; знайдіть Visual Studio у списку та натисніть Змінити.


Я використовую Windows 10, я не можу знайти SignTool ніде. Я повинен зняти прапорець "Підписати маніфести ClickOne", щоб уникнути цієї помилки.
witoong623

1
Я використовую Windows 10 та Visual Studio 2015 Community Edition. SignTool був встановлений, коли я додав пакет ClickOnce Publishing Tools у налаштуваннях VS.
Der_Meister

@Der_Meister Ви успішно щось опублікували?
ralphgabb

1
Це правильна відповідь - заперечує те, що "Не
підписуйся

1
Якщо це нікому не очевидно, повторний запуск інсталятора дозволить вам додати додаткові функції до встановлення VS - це дуже ясно, як тільки він відкриється.
Брондаль

19

Ви можете виправити це, натиснувши на інсталяційну програму VS. Потім натисніть Змінити> Позначити ClickOnce додаток, а потім оновіть свій VS. Також я думаю, що @Alex Erygin має рацію. Це неправильне рішення, коли натиснути один раз додаток -> Властивості -> Підписання -> Зніміть позначку Підпишіть маніфести ClickOnce. Це не рішення. Це лише обігнало проблему.


4
обходив
behelit

11

Це просте виправлення. Відкрийте проект, над яким ви отримуєте цю помилку. Натисніть "Проект" вгорі. Потім натисніть "Властивості" (буде ім'я відкритого проекту), потім натисніть "Безпека" і зніміть прапорець "Увімкнути налаштування безпеки ClickOnce".

Це повинно все виправити.


Виправлення працювало в нашому середовищі, де код ділиться між розробниками за допомогою SVN
Christopher Bonitz

1
Не працює, але при натисканні на Підписання -> Невірно [Підписати маніфести ClickOnce] зараз працює ...
Monzur

Швидке виправлення. Дякую!
користувач3772108

"Це має виправити все" - крім збереження безпеки
MickyD

9

Натисніть "Проект" вгорі. Потім натисніть "Властивості" -> Підписання -> Невірно [Підписати маніфести ClickOnce] зараз працює


7

Жодна з наведених вище відповідей не говорить про відключення ClickOnce. У моїй ситуації я ніколи не використовував ClickOnce для своїх додатків, але після оновлення до VS 2015 він був раптово включений, і я отримав помилку "SignTool.exe не знайдено", коли я намагався компілювати.

Щоб відключити, перейдіть до властивостей проекту (клацніть правою кнопкою миші) та виберіть Захист | Зніміть прапорець Увімкнути параметри безпеки ClickOnce .

Ви можете залишити маніфест на вкладці Підписання, оскільки він нічого не має підписувати, якщо він був відключений.

Я підтвердив, що зняття прапорця безпеки вирішило помилку компіляції на моїх проектах.


у вас увімкнено публікацію за допомогою кліку, ви все, що ви зробили - це захистити.
Міккі Перлштайн

2

Мені потрібно було підписати, отже не вдалося зняти прапорець, як було запропоновано.

Потім перейдіть на панель керування -> Програми та функції -> Microsoft Visual Studio 2015 Клацніть Змінити, інсталятор завантажиться, і вам потрібно натиснути Змінити, щоб додати функцію Інструменти публікації ClickOnce.


1

У мене були подібні проблеми. З певних причин у розділі властивостей проекту -> Підписання -> Увімкнути маніфести ClickOnce.

Я це зняв, і проблема пішла.



1

Користувачі Windows 10 можуть знаходитись signtool.exeу C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64папці ( 10.0.18362.0у моєму випадку чи іншій версії).


Але спочатку переконайтеся, що ви встановили Windows 10 SDK

Потім перевірте, Windows SDK Signing Tools for Desktop Appsчи встановлено перехід Control Panel > Programs > Programs and Features, виберіть Комплект програмного забезпечення для розробки програмного забезпечення Windows - Windows 10.0.18362.1 (у моєму випадку ви може бути різною), клацніть правою кнопкою миші, виберіть Change, виберіть параметри Changeта натисніть Next.


1

У мене було те саме повідомлення про проблему / помилку відразу після оновлення Visual Studio Pro 2019 V16.6.0. Рішення полягало у тому, щоб переконатися, що сертифікат підпису дійсний, оскільки міна минула добу.

Знайдіть властивості та підпишіться, щоб ввести дійсний чи тимчасовий сертифікат. Щоб зберегти ім’я файлу таким же, як і раніше, натисніть на безпеку, як було зазначено вище, а потім видаліть ключовий файл, пов'язаний з програмою.

Створіть новий файл ключів, а потім додайте назад захист.


0

Після оновлення інструментів збирання в DevOps build agent до візуальної студії 2019, ми почали отримувати нижчу помилку для 64-розрядного кроку збірки програми WPF.

C: \ Файли програм (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ amd64 \ Microsoft.Common.CurrentVersion.targets (3975,5): помилка MSB3482: Під час підпису сталася помилка: SignTool.exe не знайдено на шляху

Я спробував усі вищеперелічені відповіді, окрім тих, щоб відключити підписання або підписати безпеку, і нічого не допомогло.

Вимкнено крок MSBUILD за замовчуванням введіть тут опис зображення

Додано кроковий запит cmd введіть тут опис зображення

Шлях - "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ MsBuild.exe"

Примітка . Видалено amd64 зі шляху вище.

Це все-таки рішення. Я сподіваюся, що Microsoft виправить це в наступному випуску.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.