web-dev-qa-db-ja.com

インストーラーの署名証明書が取り消されているアプリケーションをアンインストールするにはどうすればよいですか

数年前、Windows 10マシンにアップグレードしてから、当時のWindows 7に Net Limiter というアプリケーションをインストールしました。今日の初めに、私は長い間使用していないアプリケーションをクリーンアップしながらそれをアンインストールしようとしました。アンインストールが失敗し、インストーラーが信頼されていないというエラーメッセージが表示されました。

https://i.imgur.com/UEoQoVn.png

少し調べてみたところ、問題が見つかったと思います。署名証明書の有効期限が切れており、発行元のCAによって取り消されました。

https://i.imgur.com/DcvWWVX.png

元のインストーラーに悩まされていたので、ベンダーに行って、新しいバージョンにアップグレードしてからアンインストールすることで問題を回避できるかどうかを確認しました。残念ながら、私はそこを襲った。アプリケーションの現在のバージョン(4.x)は、古いものを置き換えるのではなく、古いものの横にインストールされています。最新の3.xインストーラーは、別のバージョンが既にインストールされているため、起動を拒否し、「役立つ」方法で削除するように指示されます。最初にプログラムを追加/削除します。

signtoolプログラムを使用して、デジタル署名を取り除くことができます。このツールには、 Windows SDK またはVisual Studioが付属していますが、最初に 一部の設定を調整 する必要がある場合があります。 Visual Studio Developer Command Promptを起動した場合にのみ、PATHに表示されます。

最新のVS2015を搭載した64ビットWindowsを使用している私にとって、プログラムは次のとおりです。

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

それを見つけたら、管理者として次のコマンドを使用します。

signtool remove /c C:\path\to\file.exe

壊れたEXEを起動しようとすると、指定する必要のあるファイルパスがUACダイアログに表示されます。

5
Ben N