Cara menginstal SignTool.exe untuk Windows 10

94

Bagaimana cara menginstal SignTool.exe di Visual Studio 2015 untuk Windown 10? Saya mencoba membangun proyek saya tetapi program tersebut membuat kesalahan:

Kesalahan Terjadi kesalahan saat menandatangani: SignTool.exe tidak ditemukan.

Loint
sumber
coba lihat di% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin jika alat tersebut sudah ada. Lihat blogs.msdn.com/b/vsnetsetup/archive/2013/11/18/… .
jtabuloc
@JrTabuloc Saya menggunakan VS 2015 dan saya tidak memiliki signtool.exe di% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin
Loint
4
Windows 10 WDK diinstal secara default di jalur "% ProgramFiles (x86)% \ Windows Kits \ 10". Coba lihat di "% ProgramFiles (x86)% \ Windows Kits \ 10 \ bin \ x86" jika alat sudah ada.
Hal
Anda juga dapat mencoba menggunakan jalur "% WindowsSdkDir% \ bin \ x86" atau "% WindowsSdkDir% \ bin \ x64". Jika Anda belum memiliki variabel lingkungan "% WindowsSdkDir%" di shell baris perintah, Anda dapat memanggil sesuatu seperti "% VS140COMNTOOLS% .. \ .. \ vc \ vcvarsall.bat" untuk itu.
hal
@hal Saya menemukan signtool.exe dan salin ke% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0 \ Bin. Saya mencoba membangun solusi lagi tetapi menghasilkan kesalahan baru Error An error occurred while signing: Failed to sign bin\Debug\app.publish\LotusGenCode.exe. SignTool Error: Invalid option: /fd LotusGenCode
Loint

Jawaban:

120

Anda perlu menginstal SDK Windows 10.

  1. Visual Studio 2015 Update 1 sudah berisi, tetapi tidak diinstal secara default. Anda harus pergi ke Control Panel -> Programs and Features, temukan Microsoft Visual Studio 2015 dan pilih "Change".

Penataan Visual Studio 2015 akan dimulai. Pilih "Ubah".

Dalam daftar komponen Visual Studio temukan "Universal Windows App Development Tools", buka daftar sub-item dan pilih "Windows 10 SDK (10.0.10240)".

Windows 10 SDK di VS 2015 Update 1 Setup

  1. Penyebabnya, Anda dapat menginstal Windows 10 SDK langsung dari Microsoft: https://go.microsoft.com/fwlink/?LinkID=698771

Seperti yang sudah ditulis josant - ketika penginstalan selesai, Anda akan menemukan SignTool.exe di folder:

  • x86 -> c: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x86
  • x64 -> c: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64 \
Ivanhoe
sumber
27
Untuk apa nilainya, jika yang Anda butuhkan hanyalah signtool.exe, di Dari penginstal SDK 10, satu-satunya Fitur yang perlu Anda aktifkan adalah Kit Pengembangan Perangkat Lunak Windows menghemat sekitar 400MB. Tidak banyak, tapi itu sesuatu.
mateuscb
3
@Steve Selamat datang di dunia pengembangan Windows yang menakjubkan, di mana bloat adalah fiturnya
gillonba
3
Gambar terbaru hari ini untuk Visual Studio 2017 membutuhkan 6,28 GB untuk alat ini.
hughes
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 Saya melihat sedikit lebih jauh dalam hal ini dan ya, Anda benar - ini berfungsi dengan baik untuk menghindari instalasi sama sekali dan hanya menyalin file. Lihat jawaban saya lebih jauh dalam pertanyaan ini untuk detail lengkapnya.
Per Lundberg
46

Jika Anda hanya menginginkan SignTool dan benar-benar ingin meminimalkan penginstalan, berikut adalah cara saya merekayasa balik cara saya untuk:

  1. Unduh .isofile dari https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk (tautan unduhan saat ini adalah http://go.microsoft.com/fwlink/p/?LinkID=2022797 ) .exeDownload tidak akan berfungsi , karena ini adalah penginstal online yang menurunkan dependensinya saat runtime.
  2. Buka kemasannya .isodengan alat seperti 7-zip .
  3. Instal Installers/Windows SDK Signing Tools-x86_en-us.msifile - ukurannya hanya 388 KiB. Sebagai referensi, ia menarik file-nya dari .cabfile berikut , jadi ini juga diperlukan untuk instalasi mandiri:
    • 4c3ef4b2b1dc72149f979f4243d2accf.cab (339 KiB)
    • 685f3d4691f444bc382762d603a99afc.cab (1002 KiB)
    • e5c4b31ff9997ac5603f4f28cd7df602.cab (389 KiB)
    • e98fa5eb5fee6ce17a7a69d585870b7c.cab (1,2 MiB)

Ini dia - Anda sekarang akan memiliki signtool.exefile dan pengiringnya C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64(ganti x64dengan x86, armatau arm64jika Anda membutuhkannya untuk arsitektur CPU lain.)


Dimungkinkan juga untuk mengkomit signtool.exedan file lain dari folder ini ke dalam repositori kontrol versi Anda jika ingin menggunakannya dalam contoh skenario CI. Saya telah mencobanya dan tampaknya berfungsi dengan baik.

( Semua file mungkin tidak diperlukan karena ada juga beberapa .exealat lain di folder ini yang mungkin bertanggung jawab atas dependensi ini, tetapi saya tidak yakin mana yang dapat dihapus untuk membuat kumpulan file menjadi lebih kecil. Orang lain bebas untuk menyelidiki lebih jauh di area ini. :) Saya mencoba untuk hanya menyalin signtool.*dan itu tidak berhasil, jadi setidaknya beberapa file lain diperlukan.)

Per Lundberg
sumber
1
Ini memang yang harus Anda lakukan untuk menginstal signtool.exe.
predi
Saran bagus. Mudah diimplementasikan. Terima kasih telah mencari tahu dan memposting solusi Anda di sini.
RobertFrank
Sempurna. Aku hanya butuh papan penunjuk arah. Tidak ada bulu ekstra. Ngomong-ngomong, mengklik kanan file .cab dan memilih installtidak berhasil untuk saya. Saya mendapat kesalahanThe system cannot find the file specified.
frakman1
2
Lebih mudah lagi: Pasang .iso lalu jalankan "Installers \ Windows SDK Signing Tools-x86_en-us"
Russell Phillips
@RussellPhillips Ya, pada dasarnya itulah yang saya nyatakan di atas. Untuk beberapa kasus penggunaan, me-mount .isolebih mudah tetapi untuk yang lain, Anda mungkin ingin mengambil biner bersama dengan semua dependensi (misalnya check in signtool.exedan teman-teman ke repositori git Anda dan menandatangani build di AppVeyor, Jenkins, dll)
Per Lundberg
23

Sekarang tahun 2019 :) Bagi siapa pun yang bertanya-tanya, di sinilah Anda akan menemukannya:

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

Tangkapan layar:


masukkan deskripsi gambar di sini

Edit: Masih di tempat yang sama di tahun 2020.

AleksandrH
sumber
Visual Studio 2019 v.16.5.4. dan Windows 10 SDK (10.0.18362.0) - jawaban ini adalah yang benar untuk saya. (kedua versi terbaru pada saat penulisan - 29.04.2020)
Derptastic
20

Sesuai dengan komentar di pertanyaan ... Pada Windows 10 Signtool.exe dan alat SDK lainnya telah dipindahkan ke "% programfiles (x86)% \ Windows Kits \" .

Jalur umum ke signtool di Windows 10.

  • 32 bit = "c: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x86 \ signtool.exe"
  • 64 bit = "c: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64 \ signtool.exe"

Alat untuk SDK 8.0 dan 8.1 juga berada di folder "Windows Kits".

agilejoshua
sumber
4
Itu tidak menjawab pertanyaan itu. Bagaimana cara Anda menginstalnya? Tidak ada apa pun di folder tersebut di sistem saya - bahkan dengan Visual Studio diinstal.
NickG
+1 Bekerja di sini di kotak Windows 10 - Menggunakan penginstal Visual Studio utama saya harus menginstal SDK Win 10 (BUKAN 8.1) lalu saya punya SignTool.exe
Tino Mclaren
6

Lokasi:

C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe
Daniel Kmak
sumber
Hanya jika Anda telah menginstal Windows 10 SDK.
Yannici
2

Pada tahun 2019, ini adalah tautan terbaru dari Microsoft tentang cara mendapatkan alat ini:

Alat SignTool adalah alat baris perintah yang menandatangani file secara digital, memverifikasi tanda tangan di file, atau file stempel waktu. Untuk informasi tentang mengapa menandatangani file itu penting, lihat Pengenalan ke Penandatanganan Kode. Alat tersebut diinstal di folder \ Bin dari jalur penginstalan Kit Pengembangan Perangkat Lunak (SDK) Microsoft Windows.

SignTool tersedia sebagai bagian dari Windows SDK, yang dapat Anda unduh dari https://go.microsoft.com/fwlink/p/?linkid=84091 .

Saya hanya membutuhkan signtool, jadi saya memilih minimal yang saya buat dan signtool.exe sekarang masuk C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe

Pilihan instalasi

Tautan artikel Microsoft: https://docs.microsoft.com/en-us/windows/win32/seccrypto/signtool

cdsaenz.dll
sumber
2

28 April 2020

Saya menemukannya di sini:

C:\Program Files (x86)\Windows Kits\10\App Certification Kit
David Castro
sumber
1

Jika Anda menggunakan VS Express 2015, cukup masuk ke panel kontrol Anda -> program dan fitur -> pilih vs 2015 -> klik ubah, lalu di penginstal VS Express pilih 'Ubah' -> pilih alat Penerbitan, dan selesai. Setelah penyiapan menyelesaikan perubahan, Anda akan dapat membuat penginstal Anda.

JoaoVieira
sumber
Terima kasih. Saya merobek otak saya mencoba untuk menerbitkan.
Brack
1

Anda harus pergi ke Control Panel -> Programs and Features, temukan Microsoft Visual Studio 2015 dan pilih "Change". Penataan Visual Studio 2015 akan dimulai. Pilih "Ubah".

Dalam daftar komponen Visual Studio, buka daftar sub-item dan pilih juga "ClickOnce Publication Tools" dan "Windows 10 SDK".

Juanjo
sumber
0

Saya melakukan modifikasi dengan Visual Studio dari Control Panel, Program dan Fitur. SDK pada awalnya tidak terlihat jadi saya menginstal Alat Umum yang memang menyertakan Pembaruan SDK 3.

Maryjane Eldred
sumber
Apakah Anda pernah menghadapi masalah yang dijelaskan dalam pertanyaan dan apakah yang Anda jelaskan memperbaikinya? Mohon klarifikasi itu dalam jawaban Anda. Salam
YakovL
0

Ini tersedia di banyak, banyak tempat, tergantung pada apa yang diinstal: Di kotak saya, setiap orang kecuali versi SDK v6.0A mendukung opsi / fd.

masukkan deskripsi gambar di sini

G DeMasters
sumber
0

SignTool tersedia sebagai bagian dari Windows SDK (yang disertakan dengan Visual Studio Community 2015 ). Pastikan untuk memilih " ClickOnce Publishing Tools " dari daftar fitur selama penginstalan Visual Studio 2015 untuk mendapatkan SignTool.

ClickOnce Publishing Tools

Setelah Visual Studio diinstal, Anda dapat menjalankan signtoolperintah dari Visual Studio Command Prompt .

Secara default (pada Windows 10) SignTool akan diinstal di:

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

untuk menginstal hanya alat penandatanganan dari winsdksetup.exe (tersedia di url yang sama dengan windows sdk iso yang disebutkan di atas) ini adalah opsi untuk, langsung dari Dockerfile tempat saya bekerja: JALANKAN PowerShell Start-Proses winsdksetup.exe -ArgumentList '/ fitur OptionId.SigningTools', '/ q', '/ ceip off', '/ norestart', -NoNewWindow -Tunggu

jadi jika Anda berada di windows maka itu adalah: winsdksetup.exe / fitur OptionId.SigningTools

winsdksetup / h memberi Anda opsi, jadi saya tidak akan meringkasnya di sini. Saya menyertakan potongan dockerfile, karena itulah yang saya mulai hari saya mencari solusinya.

Allister
sumber