Cách cài đặt SignTool.exe cho Windows 10


94

Làm thế nào để cài đặt SignTool.exe trong Visual Studio 2015 cho Windown 10? Tôi đã cố gắng xây dựng dự án của mình nhưng chương trình đã gặp lỗi:

Lỗi Đã xảy ra lỗi khi ký: Không tìm thấy SignTool.exe.


hãy thử xem trong% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin nếu công cụ hiện có. Xem blog.msdn.com/b/vsnetsetup/archive/2013/11/18/… .
jtabuloc

@JrTabuloc Tôi đang sử dụng VS 2015 và tôi không có signtool.exe trong% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0A \ Bin
Loint

4
Windows 10 WDK được cài đặt theo mặc định trên đường dẫn "% ProgramFiles (x86)% \ Windows Kits \ 10". Hãy thử xem trong "% ProgramFiles (x86)% \ Windows Kits \ 10 \ bin \ x86" nếu công cụ đang tồn tại.
nửa

Ngoài ra, bạn có thể thử sử dụng đường dẫn "% WindowsSdkDir% \ bin \ x86" hoặc "% WindowsSdkDir% \ bin \ x64". Nếu bạn chưa có biến môi trường "% WindowsSdkDir%" trong trình bao dòng lệnh, bạn có thể gọi một cái gì đó như "% VS140COMNTOOLS% .. \ .. \ vc \ vcvarsall.bat" cho nó.
nửa

@hal Tôi đã tìm thấy signtool.exe và sao chép vào% programfiles (x86)% \ Microsoft SDKs \ Windows \ v7.0 \ Bin. Tôi đã thử lại giải pháp xây dựng nhưng nó lại xuất hiện một lỗi mới Error An error occurred while signing: Failed to sign bin\Debug\app.publish\LotusGenCode.exe. SignTool Error: Invalid option: /fd LotusGenCode
Loint

Câu trả lời:


120

Bạn cần cài đặt Windows 10 SDK.

  1. Visual Studio 2015 Update 1 đã chứa nó nhưng nó không được cài đặt theo mặc định. Bạn nên vào Control Panel -> Programs and Features, tìm Microsoft Visual Studio 2015 và chọn "Change".

Quá trình thiết lập Visual Studio 2015 sẽ bắt đầu. Chọn "Sửa đổi".

Trong danh sách thành phần Visual Studio, tìm "Universal Windows App Development Tools", mở danh sách các mục phụ và chọn "Windows 10 SDK (10.0.10240)".

Windows 10 SDK trong VS 2015 Cập nhật 1 Thiết lập

  1. Vì lý do, bạn có thể cài đặt Windows 10 SDK trực tiếp từ Microsoft: https://go.microsoft.com/fwlink/?LinkID=698771

Như josant đã viết - khi quá trình cài đặt kết thúc, bạn sẽ tìm thấy SignTool.exe trong các thư mục:

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

27
Đối với những gì đáng giá, nếu tất cả những gì bạn cần là signtool.exe, trong trình cài đặt Từ SDK 10, Tính năng duy nhất bạn cần bật là Bộ phát triển phần mềm Windows giúp bạn tiết kiệm khoảng 400MB. Không nhiều, nhưng nó là một cái gì đó.
mateuscb

3
@Steve Chào mừng bạn đến với thế giới tuyệt vời của sự phát triển Windows, nơi mà
bloat

3
Con số mới nhất hôm nay cho Visual Studio 2017 yêu cầu 6,28 GB cho công cụ này.
ôm vào

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 Tôi đã xem xét kỹ hơn một chút về vấn đề này và vâng, bạn nói đúng - nó hoạt động tốt để tránh cài đặt hoàn toàn và chỉ sao chép các tệp. Xem thêm câu trả lời của tôi trong câu hỏi này để biết chi tiết đầy đủ.
Per Lundberg

46

Nếu bạn chỉ muốn SignTool và thực sự muốn giảm thiểu cài đặt, đây là một cách mà tôi chỉ cần thiết kế ngược theo cách của mình để:

  1. Tải xuống .isotệp từ https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk (liên kết tải xuống hiện tại là http://go.microsoft.com/fwlink/p/?LinkID=2022797 ) Quá trình .exetải xuống sẽ không hoạt động , vì đây là một trình cài đặt trực tuyến kéo xuống các phần phụ thuộc của nó trong thời gian chạy.
  2. Mở gói .isobằng một công cụ như 7-zip .
  3. Cài đặt Installers/Windows SDK Signing Tools-x86_en-us.msitệp - nó chỉ lớn 388 KiB. Để tham khảo, nó lấy các tệp của nó từ các .cabtệp sau , vì vậy, những tệp này cũng cần thiết để cài đặt độc lập:
    • 4c3ef4b2b1dc72149f979f4243d2accf.cab (339 KiB)
    • 685f3d4691f444bc382762d603a99afc.cab (1002 KiB)
    • e5c4b31ff9997ac5603f4f28cd7df602.cab (389 KiB)
    • e98fa5eb5fee6ce17a7a69d585870b7c.cab (1,2 MiB)

Chúng tôi bắt đầu - bây giờ bạn sẽ có signtool.exetệp và đồng hành trong C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64(thay thế x64bằng x86, armhoặc arm64nếu bạn cần nó cho kiến ​​trúc CPU khác.)


Cũng có thể cam kết signtool.exevà các tệp khác từ thư mục này vào kho lưu trữ kiểm soát phiên bản của bạn nếu muốn sử dụng nó trong các tình huống CI. Tôi đã thử nó và nó có vẻ hoạt động tốt.

( Tất cả các tệp có thể không cần thiết vì cũng có một số .execông cụ khác trong thư mục này có thể chịu trách nhiệm cho những phần phụ thuộc này, nhưng tôi không chắc cái nào có thể bị xóa để làm cho bộ tệp nhỏ hơn nữa. Ai đó có thể tự do điều tra xa hơn trong lĩnh vực này. :) Tôi đã cố gắng chỉ sao chép signtool.*và điều đó không hoạt động, vì vậy ít nhất một số tệp khác là cần thiết.)


1
Đây thực sự là tất cả những gì bạn phải làm để cài đặt signtool.exe.
dự đoán

Gợi ý tuyệt vời. Dễ để thực hiện. Cảm ơn bạn đã tìm ra nó và đăng giải pháp của bạn ở đây.
RobertFrank,

Hoàn hảo. Tôi chỉ cần bảng chỉ dẫn. Không có lông tơ thừa. Nhân tiện, nhấp chuột phải vào tệp .cab và chọn installkhông phù hợp với tôi. Tôi đã gặp lỗiThe system cannot find the file specified.
frakman1

2
Thậm chí dễ dàng hơn: Gắn kết các .iso sau đó chạy "chương trình cài đặt \ Windows SDK Ký Tools-x86_en-us"
Russell Phillips

@RussellPhillips Yep, về cơ bản đó là những gì tôi đã nêu ở trên. Đối với một số trường hợp sử dụng, việc gắn kết .isodễ dàng hơn nhưng đối với những người khác, bạn có thể muốn lấy tệp nhị phân cùng với tất cả các phụ thuộc (ví dụ: đăng ký signtool.exevà bạn bè vào kho lưu trữ git của bạn và đăng ký các bản dựng trong AppVeyor, Jenkins, v.v.)
Per Lundberg

22

Bây giờ là năm 2019 :) Đối với bất kỳ ai tự hỏi, đây là nơi bạn sẽ tìm thấy nó:

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

Ảnh chụp màn hình:


nhập mô tả hình ảnh ở đây

Chỉnh sửa: Vẫn ở vị trí cũ vào năm 2020.


Visual Studio 2019 v.16.5.4. và Windows 10 SDK (10.0.18362.0) - câu trả lời này là câu trả lời chính xác cho tôi. (cả hai phiên bản đều mới nhất tại thời điểm viết bài - 29.04.2020)
Derptastic

20

Theo nhận xét trong câu hỏi ... Trên Windows 10, Signtool.exe và các công cụ SDK khác đã được chuyển vào "% programfiles (x86)% \ Windows Kits \" .

Đường dẫn điển hình đến signtool trên 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"

Các công cụ cho SDK 8.0 và 8.1 cũng nằm trong thư mục "Bộ dụng cụ Windows".


4
Điều đó không trả lời câu hỏi. Làm thế nào để bạn cài đặt nó ở nơi đầu tiên? Không có gì trong các thư mục đó trên hệ thống của tôi - ngay cả khi đã cài đặt Visual Studio.
NickG

+1 Đã hoạt động ở đây trên hộp Windows 10 - Sử dụng trình cài đặt Visual Studio chính, tôi phải cài đặt Win 10 SDK (KHÔNG PHẢI 8.1) sau đó tôi có SignTool.exe
Tino Mclaren

6

Vị trí:

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

Chỉ khi bạn đã cài đặt Windows 10 SDK.
Yannici

2

Vào năm 2019, đây là một liên kết khá gần đây của Microsoft về cách tải công cụ này:

Công cụ SignTool là một công cụ dòng lệnh ký số vào tệp, xác minh chữ ký trong tệp hoặc tệp dấu thời gian. Để biết thông tin về lý do tại sao việc ký tệp lại quan trọng, hãy xem Giới thiệu về Ký mã. Công cụ được cài đặt trong thư mục \ Bin của đường dẫn cài đặt Microsoft Windows Software Development Kit (SDK).

SignTool có sẵn như một phần của Windows SDK, bạn có thể tải xuống từ https://go.microsoft.com/fwlink/p/?linkid=84091 .

Tôi chỉ cần signtool, vì vậy tôi đã chọn cái tối thiểu mà tôi nghĩ ra và signtool.exe hiện đã có trong C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe

Lựa chọn cài đặt

Liên kết bài viết của Microsoft: https://docs.microsoft.com/en-us/windows/win32/seccrypto/signtool


2

28 tháng 4 năm 2020

Tôi tìm thấy nó ở đây:

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

1

Nếu bạn đang sử dụng VS Express 2015, chỉ cần đi tới bảng điều khiển của bạn -> chương trình và tính năng -> chọn so với 2015 -> nhấp vào thay đổi, sau đó trong trình cài đặt VS Express chọn 'Sửa đổi' -> chọn Công cụ xuất bản, và kết thúc. Sau khi thiết lập hoàn tất các thay đổi, bạn sẽ có thể tạo trình cài đặt của mình.


Cảm ơn. Tôi đã vắt óc cố gắng xuất bản.
Brack

1

Bạn nên vào Control Panel -> Programs and Features, tìm Microsoft Visual Studio 2015 và chọn "Change". Quá trình thiết lập Visual Studio 2015 sẽ bắt đầu. Chọn "Sửa đổi".

Trong danh sách thành phần Visual Studio, hãy mở danh sách các mục con và chọn "ClickOnce Publication Tools" và "Windows 10 SDK".


0

Tôi đã thực hiện một sửa đổi với Visual Studio từ Bảng điều khiển, Chương trình và Tính năng. Lúc đầu, SDK không rõ ràng vì vậy tôi đã cài đặt Công cụ chung, trong đó có Bản cập nhật SDK 3.


Bạn đã gặp phải vấn đề được mô tả trong câu hỏi chưa và những gì bạn mô tả có khắc phục được vấn đề đó không? Hãy làm rõ điều đó trong câu trả lời của bạn. Trân trọng
YakovL

0

Nó có sẵn ở nhiều nơi, tùy thuộc vào những gì được cài đặt: Trên hộp của tôi, mọi thứ ngoại trừ phiên bản SDK v6.0A đều hỗ trợ tùy chọn / fd.

nhập mô tả hình ảnh ở đây


0

SignTool có sẵn như một phần của Windows SDK (đi kèm với Visual Studio Community 2015 ). Đảm bảo chọn " ClickOnce Publishing Tools " từ danh sách tính năng trong khi cài đặt Visual Studio 2015 để lấy SignTool.

Công cụ xuất bản ClickOnce

Sau khi Visual Studio được cài đặt, bạn có thể chạy signtoollệnh từ Visual Studio Command Prompt .

Theo mặc định (trên Windows 10), SignTool sẽ được cài đặt trong:

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

0

để chỉ cài đặt các công cụ ký từ wondksetup.exe (có sẵn tại cùng một url như windows sdk iso đã đề cập ở trên), đây là một tùy chọn, ngay từ Dockerfile mà tôi đang làm việc trong: RUN powershell Start-Process wondksetup.exe -ArgumentList '/ features OptionId.SignsTools', '/ q', '/ ceip off', '/ norestart', -NoNewWindow -Wait

vì vậy nếu bạn đang ở trong windows thì đó sẽ là: wondksetup.exe / features OptionId.SignsTools

wondksetup / h cung cấp cho bạn các tùy chọn, vì vậy tôi sẽ không tóm tắt chúng ở đây. Tôi bao gồm đoạn mã dockerfile, vì đó là những gì tôi bắt đầu ngày của mình để tìm giải pháp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.