İmzalama sırasında bir hata oluştu: SignTool.exe bulunamadı


102

Yaptığım Projemi Güncellemeye çalışırken - ilk gördüğümde bir hata aldım:

'İmzalama sırasında bir hata oluştu: SignTool.exe bulunamadı.'

Bunu daha önce hiç görmedim, bu yüzden SignTool.exe'nin projemi ClickOnce Dağıtımı için işaretleyen şey olduğuna baktım.

Ayrıca bunun Windows SDK'nın bir parçası olduğunu da okudum - ama SignTool.exe'nin nerede olduğunu bulmaya baktığımda - tam orada gördüm!

  C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

Hiçbir sorun görmedim ve her zaman Projemi yayınladım - Sürüm 68'deyim. Ama bunu ilk kez görüyorum - bunu yapacak herhangi bir seçeneğe dokunmadım.

Herhangi bir yardım?


Makinenizde Visual Studio'nun birkaç sürümü var ve son zamanlarda birkaç farklı sürüm çalıştırdınız mı?
sll

Windows geliştirici önizlemesini kullanıyorum, öyle mi?
Alex

Yanıtlar:


7

Şimdi ClickOnce uygulamasını yayınlamayı deneyin. Hala aynı sorunu görüyorsanız, lütfen sisteme Microsoft .NET Framework 4.5 Geliştirici Önizlemesini yükleyip yüklemediğinizi kontrol edin. Microsoft .NET Framework 4.5 Geliştirici Önizlemesi, .NET Framework'ün yayın öncesi bir sürümüdür ve üretim senaryolarında kullanılmamalıdır. Bu, .NET Framework 4 için yerinde bir güncellemedir. Bu ön sürüm ürünü ARP'den kaldırmanız gerekir.

https://blogs.msdn.microsoft.com/vsnetsetup/2013/11/18/an-error-occurred- while-signing-signtool-exe-not-found/

Son olarak, geliştirici önizlemesinde olmak yerine müşteri önizlemesini yüklemek isteyebilirsiniz


2
Yeni sürümle güncellendi
Micah Armantrout

2
Doğru cevap der_meister ve Alex Erygin
der_chirurg

1
modası geçmiş cevap
T.Todua

193

ClickOnce Yayınlama Araçları, Tipik Kurulum Seçeneklerinin bir parçası olarak kurulmaz. Yani onu gelişmiş modda kurmanız gerekiyor. ClickOnce kurulumu

Bu iletişim kutusu Windows 7'de Denetim Masası> Program kaldır seçeneğine gidip Microsoft Visual Studio Professional 2015'e sağ tıklayıp seçilerek bulunabilir Change. Bir Visual Studio iletişim kutusu açılacaktır. Seç Modifyaltındaki düğmelerden kümesinden ve yukarıdaki iletişim kutusu görünür.


7
Evet, bu benim için Windows10'da çalıştı. Denetim Masası'nda kurulumu CickOnce Publishing Tools'u içerecek şekilde güncelledim ve işe yaradı! Teşekkür ederim.
Nuno Nogueira

25
Bu, Visual Studio 2015'te bununla ilgili sorun yaşayan kişiler için doğru yanıttır.
Jaxidian

3
Komut satırı sürümü: . "C: \ ProgramData \ Package Cache \ {90ac7cb6-f7f2-49d1-aa5d-d159d8e86e19} \ vs_professional.exe" / InstallSelectableItems ClickOnceV1 / S
stefan.seeland

60

Lütfen Bir kez tıklayın uygulama -> Özellikler -> İmzalama -> ClickOnce bildirimlerini İmzala seçeneğinin işaretini kaldırın.

Sorun çözülecek.

Not: Bu çözümün projenizden güvenliği kaldırdığını unutmayın. Bunu yapmadan önce daha bilgili bir meslektaştan yardım isteyin.


31
Bu çok kötü bir çözüm.
Alex Erygin

1
Java ve Python konusunda deneyimli bir programcıyım. VS2015'te kendi kullanımım için bir C # projesi derlemem gerekiyordu. Bu sayfadaki (Google'ın yardımıyla) anlayabildiğim tek çözüm bu.
chiffa

4
Bu bir çözüm değil - ClickOnce programlarının imzalanmasının bir nedeni var: bu bir güvenlik özelliği, geliştiricileri rahatsız edecek bir şey değil
Brondahl

5
Bu yanıt, "güvenliği göz ardı et ve kullanıcılarıma virüs bulaşmasına yardım et" ile ilgilidir. Bu, gittiğiniz çözüm olmamalıdır. Bir yükleyiciyi imzalamayı umursamıyorsanız, güvenliği devre dışı bırakmak yerine yükleyici / yayınlama ayarlarını kaldırmalısınız !!
Jaxidian

5
Kişisel kullanım için küçük bir araç yazdığım için bu iyi bir çözüm. Sanırım şu olmalı: "Projenize sağ tıklayın - Özellikler - İmzalama - İşaretin İşaretini Kaldır ClickOne bildirimi". İlk başta "Lütfen Bir Kez Tıklayın" uygulamasını nasıl yapacağımı bilmiyorum, ClickOnce Araçları ile karıştırılıyor: D
Quan Nguyen

23

SignTool, son SDK'da başka bir konuma taşındı: C:\Program Files (x86)\Windows Kits\8.1\bin\x86

Visual Studio 2015 kurulumu sırasında ClickOnce Yayınlama Araçlarını yüklemeniz gerekir.

Kurulumu Programlar ve Özellikler bölümünden yeniden çalıştırabilirsiniz; listede Visual Studio'yu bulun ve Değiştir'e tıklayın.


Windows 10 kullanıyorum, SignTool'u hiçbir yerde bulamıyorum. Bu hatayı önlemek için "ClickOne bildirimlerini imzala" seçeneğinin işaretini kaldırmalıyım.
witoong623

1
Windows 10 ve Visual Studio 2015 Community Edition kullanıyorum. VS kurulumuna ClickOnce Yayınlama Araçları paketini eklediğimde SignTool yüklendi.
Der_Meister

@Der_Meister herhangi bir şeyi başarılı bir şekilde yayınladınız mı?
ralphgabb

1
Bu doğru cevaptır - "İmzalamayın" ve ".NET'i yeniden
yükle

1
Kimsenin bilmediği bir durumda, yükleyiciyi yeniden çalıştırmak VS kurulumunuza ekstra özellikler eklemenize izin verecektir - açıldığında çok nettir.
Brondahl

19

VS'nin kurulum uygulamasına tıklayarak bunu düzeltebilirsiniz. Ardından Değiştir> ClickOnce Uygulamasını İşaretle'yi tıklayın ve ardından VS'nizi yükseltin. Ayrıca @Alex Erygin'in haklı olduğunu düşünüyorum. ClickOnce bildirimlerinin İmzasını Bir Kere Tıklayın -> Özellikler -> İmzalama -> İşaretini Kaldırmak kötü bir çözümdür . Bu bir çözüm değil. Sadece sorunu telafi etti.


4
çevreleyen
behelit

11

Bu basit bir çözümdür. Bu hatayı aldığınız projeyi açın. En üstteki "Proje" yi tıklayın. Ardından "Özellikler" e tıklayın (açılan projenin adı olacaktır), ardından "Güvenlik" e tıklayın ve "ClickOnce güvenlik ayarlarını etkinleştir" seçeneğinin işaretini kaldırın.

Bu her şeyi düzeltmeli.


Düzeltmeniz, kodun SVN kullanan geliştiriciler arasında paylaşıldığı ortamımızda çalıştı
Christopher Bonitz

1
Çalışmıyor ama İmzalama'ya tıklandığında -> İşaretlenmemiş [ClickOnce bildirimlerini imzala] artık çalışıyor ...
Monzur

Hızlı düzeltme. Teşekkürler!
user3772108

"Bu her şeyi düzeltmeli" - güvenliği sağlamak dışında
MickyD

9

En üstteki "Proje" yi tıklayın. Ardından "Özellikler" -> İmzalama -> İşaretlenmemiş'i tıklayın [ClickOnce bildirimlerini imzala] şimdi çalışıyor


7

Yukarıdaki yanıtların hiçbiri ClickOnce'ın devre dışı bırakılması hakkında konuşmuyor . Benim durumumda, uygulamalarım için ClickOnce kullanmadım ancak VS 2015'e yükselttikten sonra aniden etkinleştirildi ve derlemeye çalıştığımda 'SignTool.exe bulunamadı' hatası aldım.

Sizi devre dışı bırakmak için Projenizin özelliklerine gidin (sağ tıklama) ve Güvenlik | ClickOnce güvenlik ayarlarını etkinleştir seçeneğinin işaretini kaldırın .

Manifest'i İmzalama sekmesinde işaretli bırakabilirsiniz çünkü devre dışı bırakılmışsa imzalanacak hiçbir şey yoktur.

Güvenlik işaretinin kaldırılmasının projelerimdeki derleme hatasını çözdüğünü onayladım.


tıklama yayınlamayı etkinleştirdiyseniz, yaptığınız tek şey güvenliğini kaldırmaktı.
Mickey Perlstein

2

İmzalamaya ihtiyacım vardı, bu nedenle önerildiği gibi kontrolü kaldıramadım.

Ardından Denetim Masası -> Programlar ve Özellikler -> Microsoft Visual Studio 2015'e gidin Değiştir'e tıklayın, ardından yükleyici yüklenir ve ClickOnce Yayınlama Araçları özelliğini eklemek için Değiştir'e tıklamanız gerekir.


1

Ben de benzer bir sorun yaşadım. Bazı nedenlerden dolayı proje özellikleri altında -> İmzalama -> ClickOnce bildirimlerini imzala etkinleştirildi.

Kontrol etmedim ve sorun ortadan kalktı.



1

Windows 10 kullanıcıları bulabilirsiniz signtool.exeiçinde C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64(klasöründe 10.0.18362.0benim durumumda veya başka versiyonunda).


Ancak önce Windows 10 SDK'yı yüklediğinizden emin olun

Ardından, onay Windows SDK Signing Tools for Desktop Appsgiderek yüklenir Control Panel > Programs > Programs and Features, Windows Yazılım Geliştirme Kiti seçim -, Windows 10.0.18362.1 sağ tıklayın, seçim (benim durumumda, sürüm farklı olabilir) Changeseçenekleri seçebilir, Changeardından Next.


1

Visual Studio Pro 2019 V16.6.0'ı yükselttikten hemen sonra aynı sorunu / hata mesajını aldım. Çözüm, benimki bir gün geçtikten sonra imzalama sertifikasının geçerli olduğundan emin olmaktı.

Geçerli veya geçici bir sertifika girmek için özelliklere ve imzalamaya bakın. Dosya adını eskisi gibi tutmak için, yukarıda belirtildiği gibi güvenliğe tıklayın ve ardından programa bağlı anahtar dosyasını silin.

Yeni bir anahtar dosyası oluşturun ve ardından güvenliği geri ekleyin.


0

DevOps derleme aracısındaki derleme araçlarını visual studio 2019'a yükselttikten sonra, bir WPF uygulamasının 64 bit derleme adımı için aşağıdaki hatayı almaya başladık.

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ amd64 \ Microsoft.Common.CurrentVersion.targets (3975,5): hata MSB3482: İmzalama sırasında bir hata oluştu: SignTool.exe yolda bulunamadı

İmzalama veya imzalama güvenliğini devre dışı bırakanlar dışında yukarıdaki yanıtların tümünü denedim ve hiçbir şey yardımcı olmadı.

Varsayılan MSBUILD adımını devre dışı bıraktı görüntü açıklamasını buraya girin

Bir cmd istemi adımı eklendi görüntü açıklamasını buraya girin

Yol "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ MsBuild.exe" şeklindedir.

Not : Yukarıdaki yoldan amd64 kaldırıldı .

Bu hala bir çözümdür. Umarım Microsoft bunu aşağıdaki sürümde düzeltir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.