Як встановити SignTool.exe для Windows 10


94

Як встановити SignTool.exe у Visual Studio 2015 для Windown 10? Я намагався побудувати свій проект, але програма видала помилку:

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


спробуйте поглянути в% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin, якщо інструмент існує. Див. Blogs.msdn.com/b/vsnetsetup/archive/2013/11/18/… .
jtabuloc

@JrTabuloc Я використовую VS 2015, і в мене немає signtool.exe у% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin
Loint

4
Windows 10 WDK встановлюється за замовчуванням на шляху "% ProgramFiles (x86)% \ Windows Kits \ 10". Спробуйте заглянути в "% ProgramFiles (x86)% \ Windows Kits \ 10 \ bin \ x86", якщо інструмент існує.
hal

Також ви можете спробувати використовувати шляхи "% WindowsSdkDir% \ bin \ x86" або "% WindowsSdkDir% \ bin \ x64". Якщо у вас немає змінної середовища "% ​​WindowsSdkDir%" у оболонці командного рядка, ви можете викликати щось на зразок "% VS140COMNTOOLS% .. \ .. \ vc \ vcvarsall.bat" для цього.
хал

@hal Я знайшов signtool.exe і скопіював у% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0 \ Bin. Я спробував побудувати рішення ще раз, але це призвело до нової помилки Error An error occurred while signing: Failed to sign bin\Debug\app.publish\LotusGenCode.exe. SignTool Error: Invalid option: /fd LotusGenCode
Loint

Відповіді:


120

Вам потрібно встановити Windows 10 SDK.

  1. Visual Studio 2015 оновлення 1 вже містить його, але він не встановлений за замовчуванням. Вам слід зайти в Панель управління -> Програми та функції, знайти Microsoft Visual Studio 2015 і вибрати «Змінити».

Почнеться налаштування Visual Studio 2015. Виберіть "Змінити".

У списку компонентів Visual Studio знайдіть "Універсальні засоби розробки програм для Windows", відкрийте список підпунктів і виберіть "Windows 10 SDK (10.0.10240)".

Windows 10 SDK у VS 2015 Update 1 Setup

  1. Ви можете встановити Windows 10 SDK безпосередньо від корпорації Майкрософт: 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 \

27
Для того, що варто, якщо все, що вам потрібно, це signtool.exe, у програмі встановлення SDK 10 єдиною функцією, яку потрібно активувати, є Комплект розробки програмного забезпечення Windows, який економить близько 400 МБ. Не багато, але це щось.
mateuscb

3
@Steve Ласкаво просимо в чудовий світ розробки Windows, де роздуття - це особливість
gillonba

3
Останній показник сьогодні для Visual Studio 2017 вимагав 6,28 ГБ для цього інструменту.
Х'юз,

3
C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x86| C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64
CJBS

1
@mateuscb Я заглянув трохи далі в цьому, і так, ти маєш рацію - це чудово працює, щоб уникнути інсталяції взагалі і просто скопіювати файли. Дивіться мою відповідь далі у цьому питанні, щоб отримати докладні відомості.
Per Lundberg

46

Якщо ви хочете лише SignTool і дійсно хочете звести до мінімуму встановлення, ось спосіб, який я просто перепроектував, щоб:

  1. Завантажте .isoфайл з https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk (поточне посилання для завантаження http://go.microsoft.com/fwlink/p/?LinkID=2022797 ) .exeЗавантаження не буде працювати , оскільки це Інтернет-інсталятор, який знищує свої залежності під час виконання.
  2. Розпакуйте .isoінструмент, такий як 7-zip .
  3. Встановіть 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.*але це не спрацювало, тому потрібні принаймні деякі інші файли.)


1
Це справді все, що вам потрібно зробити, щоб встановити signtool.exe.
преді

Чудова пропозиція. Легко реалізувати. Дякуємо, що розібрались і розмістили тут своє рішення.
RobertFrank

Ідеально Мені просто знадобився сіньтуль. Жодного зайвого пуху. До речі, клацання правою кнопкою миші на файлах .cab та вибір installне працювали для мене. Я отримав помилкуThe system cannot find the file specified.
frakman1

2
Ще простіше: встановіть файл .iso, після чого запустіть "Installers \ Windows SDK Signing Tools-x86_en-us"
Рассел Філліпс,

@RussellPhillips Так, це в основному те, що я заявляю вище. У деяких випадках використання монтування .isoпростіше, але для інших, можливо, вам захочеться взяти двійковий файл разом із усіма залежностями (наприклад, зареєструватися signtool.exeта друзями у вашому сховищі git та побудувати підписи в AppVeyor, Jenkins тощо)
Per Lundberg

23

Зараз 2019 рік :) Для тих, хто цікавиться, ось де ви його знайдете:

C:\Program Files (x86)\Windows Kits\10\App Certification Kit

Знімок екрана:


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

Редагувати: все ще на тому самому місці в 2020 році.


Visual Studio 2019 v.16.5.4. та Windows 10 SDK (10.0.18362.0) - ця відповідь для мене правильна. (обидві версії остання на момент написання - 29.04.2020)
Derptastic

20

Відповідно до коментарів до запитання ... На 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".


4
Це не відповідає на питання. Як ви встановлюєте його взагалі? У цій папці в моїй системі немає нічого - навіть із встановленою Visual Studio.
NickG

+1 Працював тут, у вікні Windows 10 - За допомогою основного інсталятора Visual Studio мені довелося встановити Win 10 SDK (НЕ 8.1), тоді у мене був SignTool.exe
Тіно


2

У 2019 році це зовсім недавнє посилання від Microsoft про те, як отримати цей інструмент:

Інструмент SignTool - це інструмент командного рядка, який цифровим способом підписує файли, перевіряє підписи у файлах або відмічає час. Інформацію про те, чому підпис файлів важливий, див. У розділі Вступ до підписання коду. Інструмент інстальовано в папці \ Bin шляху встановлення Microsoft Windows Software Development Kit (SDK).

SignTool доступний як частина пакета SDK для Windows, який ви можете завантажити з 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



1

Якщо ви використовуєте VS Express 2015, просто перейдіть на панель керування -> програми та функції -> виберіть vs 2015 -> клацніть змінити, потім у програмі встановлення VS Express виберіть «Змінити» -> виберіть Інструменти публікації, і закінчити. Щойно налаштування завершить зміни, ви зможете створити програму встановлення.


Дякую. Я виривав мізки, намагаючись публікувати.
Брек,

1

Вам слід зайти в Панель управління -> Програми та функції, знайти Microsoft Visual Studio 2015 і вибрати «Змінити». Почнеться налаштування Visual Studio 2015. Виберіть "Змінити".

У списку компонентів Visual Studio відкрийте список підпунктів і виберіть "Інструменти публікації ClickOnce" та "Windows 10 SDK".


0

Я зробив модифікацію за допомогою Visual Studio з панелі керування, програм та функцій. Спочатку SDK не було очевидним, тому я встановив загальні інструменти, які ось-ось включали оновлення 3 SDK.


Чи стикалися ви з проблемою, описаною у питанні, і чи вирішили ви те, що описуєте? Будь ласка, поясніть це у своїй відповіді. З найкращими побажаннями
YakovL

0

Він доступний у багатьох місцях, залежно від того, що встановлено: На моїй коробці кожен, крім версії SDK v6.0A, підтримує параметр / fd.

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


0

SignTool доступний як частина пакета SDK для Windows (який постачається разом із Visual Studio Community 2015 ). Під час встановлення Visual Studio 2015 обов’язково виберіть зі списку функцій « ClickOnce Publishing Tools », щоб отримати SignTool.

Інструменти публікації ClickOnce

Після встановлення Visual Studio ви можете запустити signtoolкоманду з командного рядка Visual Studio .

За замовчуванням (у Windows 10) SignTool буде встановлено в:

  • C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe

0

встановити лише інструменти підписування з winsdksetup.exe (доступний за тією ж URL-адресою, що і згаданий вище windows sdk iso), це можливість, прямо з Dockerfile, в якому я працюю: 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, оскільки саме з цього я почав шукати рішення.

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