Setelah menerima pembaruan Windows minor sore ini, saya menemukan bahwa saya tidak lagi dapat membuat build yang ditandatangani aplikasi Visual Studio saya.
Menggali masalah ini, saya menemukan program signtool.exe yang terletak di direktori yang tidak jelas (C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ 10.0.18362.0 \ x64). Dengan menggunakan command prompt, saya mencoba menjalankannya secara manual untuk menandatangani aplikasi saya, tetapi ketika saya melakukannya, tidak ada yang terjadi: tidak ada output, tidak ada pesan kesalahan. Saya juga mencoba menjalankannya tanpa parameter mengharapkan pesan bantuan atau setidaknya kesalahan, tapi sekali lagi, tidak ada.
Saya pergi ke komputer lain yang belum menerima pembaruan Windows apa pun hari ini, menemukan file yang sama, dan menjalankannya: dan bekerja dengan baik.
Berpikir saya pasti memiliki file .exe yang rusak di komputer pertama, saya menyalin versi dari komputer lain, tetapi masih gagal. Namun, jika saya mengganti nama file, maka itu berjalan. Sebagai contoh jika saya mengubah nama menjadi "signtool1.exe" Saya kemudian dapat menjalankannya dari baris perintah dengan baik, meskipun Visual Studio masih tidak dapat menjalankannya karena perubahan nama.
Saya memang mencoba me-reboot komputer saya beberapa kali selama proses ini berpikir mungkin ada salinannya terjebak di memori, tetapi tidak ada. Saya juga mencarinya di Task Manager.
Saya belum pernah melihat yang seperti ini sebelumnya. Program yang sama berjalan atau tidak tergantung pada nama file yang dapat dieksekusi. Satu detail lagi, ini benar-benar berjalan terlepas dari nama file jika saya salin ke direktori home saya. Apa yang bisa menyebabkan hal seperti itu?
Terima kasih, Frank
sumber
Jawaban:
Alih-alih mengubah nama signtool.exe, saya menemukan bahwa mengubah nama / menghapus signtool.exe.manifest memungkinkan signtool untuk menjalankan sementara juga masih memungkinkan Visual Studio untuk menjalankannya.
Saya tidak tahu mengapa ini terjadi atau apa efek samping dari menghapus manifes, tetapi cukup bagi proyek saya untuk membangun kembali.
Untuk referensi, saya mengalami masalah ini setelah melakukan instalasi VS2019 bersih di VM Windows 10 1909 yang bersih (tetapi sepenuhnya diperbarui segera setelah).
sumber
Saya melihat masalah yang sama. Signtool tidak menampilkan dialog kesalahan tetapi kode kesalahan yang dikembalikan adalah -1073741502 (0xC0000142), STATUS_DLL_INIT_FAILED.
Masalahnya bisa terkait dengan memperbarui KB4535996. Saya menghapus pembaruan ketika saya melihat masalah dan signtool berfungsi normal. Masalahnya kembali ketika saya menginstal ulang pembaruan.
Signtool berfungsi jika saya memindahkan file manifes keluar dari direktori, seperti yang Anda lihat. Tetapi saya juga memperhatikan bahwa signtool berfungsi ketika saya memindahkan manifes kembali ke direktori.
sumber
Berikut ini adalah Laporan Bug di Windows Feedback Hub. Harap upvote Laporan Bug KB4535996.
sumber