วิธีการติดตั้ง 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" หากมีเครื่องมืออยู่
ห้องโถง

นอกจากนี้คุณสามารถลองใช้เส้นทาง "% 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 Update 1 มีอยู่แล้ว แต่ไม่ได้ติดตั้งตามค่าเริ่มต้น คุณควรไปที่ Control Panel -> Programs and Features ค้นหา Microsoft Visual Studio 2015 แล้วเลือก "Change"

การตั้งค่า Visual Studio 2015 จะเริ่มขึ้น เลือก "แก้ไข"

ในรายการส่วนประกอบ Visual Studio ให้ค้นหา "Universal Windows App Development Tools" เปิดรายการย่อยและเลือก "Windows 10 SDK (10.0.10240)"

Windows 10 SDK ใน VS 2015 Update 1 Setup

  1. สาเหตุคุณสามารถติดตั้ง Windows 10 SDK ได้โดยตรงจาก Microsoft: https://go.microsoft.com/fwlink/?LinkID=698771

ดังที่ได้เขียนไว้แล้ว - เมื่อการติดตั้งเสร็จสิ้นคุณจะพบ SignTool.exe ในโฟลเดอร์:

  • x86 -> c: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x86
  • x64 -> c: \ Program Files (x86) \ Windows ชุด \ 10 \ bin \ x64 \

27
สิ่งที่คุ้มค่าหากสิ่งที่คุณต้องการคือ signtool.exe ในตัวติดตั้ง From SDK 10 คุณลักษณะเดียวที่คุณต้องเปิดใช้งานคือWindows Software Development Kitช่วยให้คุณประหยัดได้ประมาณ 400MB ไม่มาก แต่เป็นบางอย่าง
mateuscb

3
@Steve ยินดีต้อนรับสู่โลกมหัศจรรย์ของการพัฒนา Windows ที่
bloat

3
ตัวเลขล่าสุดของวันนี้สำหรับ Visual Studio 2017 ต้องใช้ 6.28 GB สำหรับเครื่องมือนี้
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 ฉันมองไปอีกเล็กน้อยในเรื่องนี้และใช่คุณพูดถูก - มันทำงานได้ดีเพื่อหลีกเลี่ยงการติดตั้งทั้งหมดและคัดลอกไฟล์ ดูคำตอบของฉันเพิ่มเติมในคำถามนี้สำหรับรายละเอียดทั้งหมด
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 KiB สำหรับการอ้างอิงจะดึงไฟล์จาก.cabไฟล์ต่อไปนี้ดังนั้นสิ่งเหล่านี้จึงจำเป็นสำหรับการติดตั้งแบบสแตนด์อโลน:
    • 4c3ef4b2b1dc72149f979f4243d2accf.cab (339 กิโลไบต์)
    • 685f3d4691f444bc382762d603a99afc.cab (1002 KiB)
    • e5c4b31ff9997ac5603f4f28cd7df602.cab (389 กิโลไบต์)
    • e98fa5eb5fee6ce17a7a69d585870b7c.cab (1.2 MiB)

มีเราไป - ตอนนี้คุณจะมี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 ติดตั้ง
predi

ข้อเสนอแนะที่ดี ใช้งานง่าย ขอขอบคุณที่ทราบและโพสต์วิธีแก้ปัญหาของคุณที่นี่
RobertFrank

สมบูรณ์แบบ. ฉันแค่ต้องการ signtool ไม่มีปุยพิเศษ อย่างไรก็ตามการคลิกขวาที่ไฟล์. cab และการเลือกinstallไม่ได้ผลสำหรับฉัน ฉันได้รับข้อผิดพลาดThe system cannot find the file specified.
frakman1

2
ง่ายยิ่งขึ้น: ติดตั้ง. iso จากนั้นเรียกใช้ "Installers \ Windows SDK Signing Tools-x86_en-us"
Russell Phillips

@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
Tino Mclaren


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 เพียงไปที่แผงควบคุมของคุณ -> โปรแกรมและคุณสมบัติ -> เลือกเทียบกับ 2015 -> คลิกเปลี่ยนจากนั้นในตัวติดตั้ง VS Express ให้เลือก 'แก้ไข' -> เลือกเครื่องมือการเผยแพร่ และเสร็จสิ้น เมื่อการตั้งค่าเสร็จสิ้นการเปลี่ยนแปลงคุณจะสามารถสร้างโปรแกรมติดตั้งของคุณได้


ขอบคุณ. ฉันกำลังฉีกสมองออกเพื่อพยายามเผยแพร่
Brack

1

คุณควรไปที่ Control Panel -> Programs and Features ค้นหา Microsoft Visual Studio 2015 แล้วเลือก "Change" การตั้งค่า Visual Studio 2015 จะเริ่มขึ้น เลือก "แก้ไข"

ในรายการส่วนประกอบ Visual Studio ให้เปิดรายการย่อยและเลือก "ClickOnce Publication Tools" และ "Windows 10 SDK" ด้วย


0

ฉันทำการแก้ไขด้วย Visual Studio จากแผงควบคุมโปรแกรมและคุณสมบัติ SDK ไม่ปรากฏในตอนแรกดังนั้นฉันจึงติดตั้ง Common Tools ซึ่งแท้จริงแล้วและดูจะรวม SDK Update 3


คุณประสบปัญหาที่อธิบายไว้ในคำถามและได้ทำตามที่อธิบายไว้หรือไม่? โปรดชี้แจงในคำตอบของคุณ ขอแสดงความนับถือ
YakovL

0

มีให้ใช้งานหลายแห่งหลายแห่งขึ้นอยู่กับสิ่งที่ติดตั้ง: ในกล่องของฉันทุกอันยกเว้นเวอร์ชัน v6.0A SDK รองรับตัวเลือก / fd

ป้อนคำอธิบายภาพที่นี่


0

SignToolพร้อมใช้งานเป็นส่วนหนึ่งของ Windows SDK (ซึ่งมาพร้อมกับVisual Studio Community 2015 ) อย่าลืมเลือก " ClickOnce Publishing Tools " จากรายการฟีเจอร์ระหว่างการติดตั้ง Visual Studio 2015 เพื่อรับ SignTool

ClickOnce เครื่องมือการเผยแพร่

เมื่อติดตั้ง Visual Studio แล้วคุณสามารถเรียกใช้signtoolคำสั่งจากVisual Studio Command PromptPrompt

ตามค่าเริ่มต้น (บน 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 ไว้ด้วยเพราะนั่นคือสิ่งที่ฉันเริ่มต้นวันใหม่เพื่อมองหาวิธีแก้ปัญหา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.