Як встановити SignTool.exe у Visual Studio 2015 для Windown 10? Я намагався побудувати свій проект, але програма видала помилку:
Помилка Під час підписання сталася помилка: SignTool.exe не знайдено.
Як встановити SignTool.exe у Visual Studio 2015 для Windown 10? Я намагався побудувати свій проект, але програма видала помилку:
Помилка Під час підписання сталася помилка: SignTool.exe не знайдено.
Error An error occurred while signing: Failed to sign bin\Debug\app.publish\LotusGenCode.exe. SignTool Error: Invalid option: /fd LotusGenCode
Відповіді:
Вам потрібно встановити Windows 10 SDK.
Почнеться налаштування Visual Studio 2015. Виберіть "Змінити".
У списку компонентів Visual Studio знайдіть "Універсальні засоби розробки програм для Windows", відкрийте список підпунктів і виберіть "Windows 10 SDK (10.0.10240)".
Windows 10 SDK у VS 2015 Update 1 Setup
Як вже писав josant - після завершення встановлення ви знайдете SignTool.exe у папках:
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
Якщо ви хочете лише SignTool і дійсно хочете звести до мінімуму встановлення, ось спосіб, який я просто перепроектував, щоб:
.iso
файл з https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk (поточне посилання для завантаження http://go.microsoft.com/fwlink/p/?LinkID=2022797 ) .exe
Завантаження не буде працювати , оскільки це Інтернет-інсталятор, який знищує свої залежності під час виконання..iso
інструмент, такий як 7-zip .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.*
але це не спрацювало, тому потрібні принаймні деякі інші файли.)
install
не працювали для мене. Я отримав помилкуThe system cannot find the file specified.
.iso
простіше, але для інших, можливо, вам захочеться взяти двійковий файл разом із усіма залежностями (наприклад, зареєструватися signtool.exe
та друзями у вашому сховищі git та побудувати підписи в AppVeyor, Jenkins тощо)
Відповідно до коментарів до запитання ... На Windows 10 Signtool.exe та інші інструменти SDK перенесено у "% programfiles (x86)% \ Windows Kits \" .
Типовий шлях до signtool у Windows 10.
Інструменти для SDK 8.0 і 8.1 також знаходяться в папці "Windows Kits".
Розташування:
C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe
У 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
28 квітня 2020 р
Я знайшов його тут:
C:\Program Files (x86)\Windows Kits\10\App Certification Kit
Якщо ви використовуєте VS Express 2015, просто перейдіть на панель керування -> програми та функції -> виберіть vs 2015 -> клацніть змінити, потім у програмі встановлення VS Express виберіть «Змінити» -> виберіть Інструменти публікації, і закінчити. Щойно налаштування завершить зміни, ви зможете створити програму встановлення.
Вам слід зайти в Панель управління -> Програми та функції, знайти Microsoft Visual Studio 2015 і вибрати «Змінити». Почнеться налаштування Visual Studio 2015. Виберіть "Змінити".
У списку компонентів Visual Studio відкрийте список підпунктів і виберіть "Інструменти публікації ClickOnce" та "Windows 10 SDK".
Я зробив модифікацію за допомогою Visual Studio з панелі керування, програм та функцій. Спочатку SDK не було очевидним, тому я встановив загальні інструменти, які ось-ось включали оновлення 3 SDK.
SignTool доступний як частина пакета SDK для Windows (який постачається разом із Visual Studio Community 2015 ). Під час встановлення Visual Studio 2015 обов’язково виберіть зі списку функцій « ClickOnce Publishing Tools », щоб отримати SignTool.
Після встановлення Visual Studio ви можете запустити signtool
команду з командного рядка Visual Studio .
За замовчуванням (у Windows 10) SignTool буде встановлено в:
C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe
встановити лише інструменти підписування з 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, оскільки саме з цього я почав шукати рішення.