ESETのバージョンアップ通知を消したい
Windows XPを起動するたびに「製品が古くなっています。」のメッセージが出るんだが、これを非表示にする方法はないだろうか。最新バージョンがXPにインストールできないことは分かりきっている(XPに対応するバージョンは数年前に公開終了した)。そんな方法探ることに時間をかけるよりも、無視すればいいってことは分かっているんだけど。
この通知は「保護しないまま続行する」を2回クリックすれば閉じることができるものの、設定で最初から表示しないようにするという選択肢はなさそうだ。検出エンジン更新完了時に時々表示される(1日1回?)ので、更新を無効にしておけば通知ともおさらばなんだろうけど、それではアンインストールしたも同然だ。
タスクマネージャーとProcess Explorerで調べてみたら、この通知の出所が分かった。通知本体はESETのインストール先に置かれているupgrade.exeという単体のファイルで、ESETの本体プログラムであるekrn.exeから呼び出されているらしい。
では、upgrade.exeを削除すればいいのかというと、そうはいかない。このファイルはプログラム更新のたびに配置されるようだ。
アプリケーションの実行を制限するような仕組みはWindowsにあったっけと思っていたら、そもそも身近にあるじゃん。ESETに「HIPS」という挙動監視機能が。そこに「お前自身が起動する通知プログラムをブロックせよ」と覚え込ませればいいのさ。
結果的にこの方法は上手くいかなかった。全く変化がなかったので理由は不明だが、ESET自身は例外なのか、あるいはアプリケーションがユーザーとしてではなくサービスの上で動いているせいで介入できないのか。
ESETインストール先にあるupgrade.exeのアクセス許可エントリを親のエントリから独立させ、SYSTEMユーザーと現在のユーザーから「ファイルの実行」とファイルを上書きするような権限を外してみた(XP Home Editionではこのような設定はできない)。もはややっつけである。←ファイルを更新できないとエラーになりそうなので、上書きは許可した方がいいかもしれない。
サービスプログラムの挙動を制限するのはリスクがある。下手すればブルースクリーンの沼にハマるだろう。まあでも、今回のに関して言えば、単なるメッセージプログラムの起動を阻止するだけなので、そういうリスクはなさそう。手動で通知を再現する方法がないので、これが有効な手段か現時点で確認できていないが、もし下のようなメッセージが出るようになってしまっては、バージョンアップ通知と操作上対して変わっていないので意味がない。