Как установить SignTool.exe для Windows 10
Как установить SignTool.exe в Visual Studio 2015 для Windown 10? Я пытался построить свой проект, но программа выдавала ошибку:
Ошибка Произошла ошибка при подписании: SignTool.exe не найден.
19 ответов
Вам необходимо установить Windows 10 SDK.
- Visual Studio 2015 Update 1 уже содержит его, но по умолчанию он не установлен. Перейдите в Панель управления -> Программы и компоненты, найдите Microsoft Visual Studio 2015 и выберите "Изменить".
Начнется установка Visual Studio 2015. Выберите "Изменить".
В списке компонентов Visual Studio найдите "Инструменты разработки универсальных приложений для Windows", откройте список подэлементов и выберите "Windows 10 SDK (10.0.10240)".
Windows 10 SDK в VS 2015 Обновление 1 Настройка
- Конечно, вы можете установить Windows 10 SDK напрямую от Microsoft: https://go.microsoft.com/fwlink/?LinkID=698771
Как уже писал josant - после завершения установки вы найдете SignTool.exe в папках:
- x86 -> c: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x86
- x64 -> c: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64 \
Если вы хотите только SignTool и действительно хотите минимизировать установку, вот способ, которым я просто пересмотрел свой путь:
- Скачать
.iso
файл с https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk (текущая ссылка для скачивания http://go.microsoft.com/fwlink/p/?LinkID=2022797).exe
загрузка не будет работать, так как это онлайн-установщик, который устанавливает свои зависимости во время выполнения. - Распакуйте
.iso
с помощью инструмента, такого как 7-почтовый индекс. - Установите
Installers/Windows SDK Signing Tools-x86_en-us.msi
файл - это всего 388 КиБ. Для справки, он извлекает свои файлы из следующих.cab
файлы, так что они также необходимы для автономной установки:4c3ef4b2b1dc72149f979f4243d2accf.cab
(339 КиБ)685f3d4691f444bc382762d603a99afc.cab
(1002 КиБ)e5c4b31ff9997ac5603f4f28cd7df602.cab
(389 КиБ)e98fa5eb5fee6ce17a7a69d585870b7c.cab
(1,2 МиБ)
Там мы идем - теперь у вас будет signtool.exe
файл и компаньоны в C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64
(заменить x64
с x86
, arm
или же arm64
если вам это нужно для другой архитектуры процессора.)
Также возможно совершить signtool.exe
и другие файлы из этой папки в ваш репозиторий контроля версий, если вы хотите использовать его, например, в сценариях CI. Я пытался, и, кажется, работает нормально.
(Все файлы, вероятно, не нужны, так как есть и другие .exe
инструменты в этой папке, которые могут отвечать за эти зависимости, но я не уверен, какие из них можно удалить, чтобы сделать набор файлов еще меньше. Кто-то еще может продолжить расследование в этой области.:) Я пытался просто скопировать signtool.*
и это не сработало, поэтому по крайней мере некоторые другие файлы необходимы.)
Сейчас 2019 год:) Для тех, кому интересно, вот где вы его найдете:
C:\Program Files (x86)\Windows Kits\10\App Certification Kit
Скриншот:
Изменить: все еще на том же месте в 2020 году.
Лучшее решение конца 2020 года:
Просто скачайте Windows 10 SDK от Microsoft здесь:
https://go.microsoft.com/fwlink/?LinkID=698771
В настройке выберите только приложение для сертификации приложений Windows (это всего 120 МБ)
Вы можете найти signtool.exe здесь:
%PROGRAMFILES(X86)%\Windows Kits\10\bin\x64
Ваше здоровье!
Согласно комментариям в вопросе... В Windows 10 Signtool.exe и другие инструменты SDK были перемещены в "% programfiles (x86)% \ Windows Kits \".
Типичный путь к signtool в Windows 10.
- 32 бит = "c: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x86 \ signtool.exe"
- 64 бит = "c: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64 \ signtool.exe"
Инструменты для SDK 8.0 и 8.1 также находятся в папке "Windows Kits".
Еще один ответ от 2021 года.
Возможно, вам вообще не понадобится Windows SDK. Если у вас установлен VS-2019 , возможно, у вас уже есть signtool в
C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe
ПРИМЕЧАНИЕ. Хорошая особенность этого
signtool
версия (по сравнению с Windows SDK) состоит в том, что она автономна и не требует наличия всех библиотек рядом с ней (
mssign32.dll
,
wintrust.dll
и т.д., они обычно лежат в папках Windows SDK).
Вы даже можете добавить этот файл в репозиторий исходного кода (всего один файл), поскольку этот инструмент не менялся с 2016 года.
PS У меня был этот signtool даже без установленного в Visual Studio компонента "публикация CLickOnce".
Место нахождения:
C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe
28 апреля 2020
Я нашел это здесь:
C:\Program Files (x86)\Windows Kits\10\App Certification Kit
Вам не нужно устанавливать Signtool. Может быть, оно уже есть.
Идти кC:\Program Files (x86)\
и искатьsigntool.exe
. В моей системе я нашел его подC:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool
Независимо от того, какую версию Windows вы используете, указанный выше инструмент поможет решить вашу задачу.
В 2019 году это совсем недавняя ссылка от Microsoft о том, как получить этот инструмент:
Инструмент SignTool - это инструмент командной строки, который подписывает файлы цифровой подписью, проверяет подписи в файлах или отмечает файлы времени. Для получения информации о том, почему подписывание файлов важно, см. Введение в подписывание кода. Инструмент устанавливается в папку \Bin установочного пути Microsoft Windows Software Development Kit (SDK).
SignTool доступен как часть Windows SDK, который можно загрузить по https://go.microsoft.com/fwlink/p/?linkid=84091.
Мне нужен был только signtool, поэтому я выбрал минимальный, который придумал, и теперь signtool.exe находится в C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe
Ссылка на статью Microsoft: https://docs.microsoft.com/en-us/windows/win32/seccrypto/signtool
Чтобы установить только инструменты подписи из файла winsdksetup.exe (доступного по тому же URL-адресу, что и ISO-файл Windows sdk, упомянутый выше), это вариант, прямо из файла Docker, в котором я работаю: RUN powershell Start-Process winsdksetup.exe -ArgumentList '/features OptionId.SigningTools', '/q', '/ceip off', '/norestart', -NoNewWindow -Wait
поэтому, если вы находитесь в Windows, это будет: winsdksetup.exe /features OptionId.SigningTools
winsdksetup /h предоставляет вам варианты, поэтому я не буду их здесь обобщать. Я включаю фрагмент dockerfile, так как именно с него я начал свой день в поисках решения.
Если вы используете VS Express 2015, просто перейдите на панель управления -> программы и функции -> выберите vs 2015 -> нажмите изменить, затем в установщике VS Express выберите "Изменить" -> выберите "Инструменты публикации", и закончить. После того, как установка завершит изменения, вы сможете создать свой установщик.
Перейдите в Панель управления -> Программы и компоненты, найдите Microsoft Visual Studio 2015 и выберите "Изменить". Начнется установка Visual Studio 2015. Выберите "Изменить".
In Visual Studio components list, open the list of sub-items and select "ClickOnce Publication Tools" and "Windows 10 SDK" too.
У меня возникла проблема при использовании этого инструмента в ограниченной среде Azure DevOps Pipelines, где я даже не мог расширить
PATH
или вызывать любые инструменты по абсолютному пути за пределами каталогов сборки ADO, что означает в данном случае что-нибудь из
C:\Program Files (x86)\
Мое решение заключалось в том, чтобы упаковать его как защищенный файл в конвейерах ADO.
Library
->
Secure Files
, разрешите моему конвейеру получить доступ к файлу через его настройки безопасности, затем загрузить его как задачу сборки и запустить через задачу PowerShell.
В приведенном ниже примере я просто запрашиваю помощь с
/?
команда. Просто замените это любой командой, которую хотите использовать.
- task: DownloadSecureFile@1
displayName: "Signtool Download"
name: MSSignTool
inputs:
secureFile: 'signtool.exe'
- task : PowerShell@2
displayName: "Run Signtool"
inputs:
targetType: "inline"
script: $(MSSignTool.secureFilePath) /?
Предупреждение 1. Я не уверен, какие зависимости требуются для
signtool.exe
для автономной работы, или если она вообще есть. Windows 10 SDK и ADK уже были установлены в этой среде сборки. Если запрос справки приводит к сбою или сбою инструмента, убедитесь, что один или оба из них установлены. Надеюсь, у вас будет доступ к чему-то вродеchoco
для установки любых недостающих зависимостей.
Предупреждение 2: будьте осторожны при копировании этих сегментов кода . ADO довольно строг с динамическими пробелами, поэтому, если ваш интервал отключен, он будет блокировать весь ваш файл конвейеров, пока вы не отрегулируете интервал до его правильного положения.
Я сделал изменение с помощью Visual Studio из Панели управления, Программы и компоненты. SDK сначала не был очевиден, поэтому я установил Common Tools, который вот и включил SDK Update 3.
Он доступен во многих-многих местах, в зависимости от того, что установлено: на моем компьютере все, кроме версии SDK v6.0A, поддерживают параметр /fd.
SignTool доступен как часть Windows SDK (который входит в состав Visual Studio Community 2015). Обязательно выберите " ClickOnce Publishing Tools " из списка функций во время установки Visual Studio 2015, чтобы получить SignTool.
После установки Visual Studio вы можете запустить signtool
из командной строки Visual Studio.
По умолчанию (в Windows 10) SignTool будет установлен в:
C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe
Для меня в 2021 году signtool.exe был здесь: «C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64» или в: x86
и не в: C: \ Program Files (x86) \ Windows Kits \ 10 \ App Certification Kit, даже если у меня есть эта папка и файлы в ней.