発生事象
案件ではなく自分自身のPCで発生するようになりました。
問題は解決しましたが、完全にデバッグしきれていないのであくまでも個人のメモ程度に書いておきます。
デスクトップを右クリックすると、ヘッダ画像にあるwin32 exceptionエラー(例外エラー)が発生します。
しかも、右クリックしなくても発生する場合がありました。
手っ取り早いのは新規Windowsユーザを作成してそちらに移行する事なのですが、Cursor(AIエディタ)のプロンプト履歴など、旧ユーザのプロファイルからコピーしても、移行先で開かないケースが発生するので、ちょっと避けたいところ。。。
右クリックメニュー関連の問題発生時にはShellExView(フリーソフト)で疑わしい項目を無効にするという対処が紹介されていますが、結果として私の場合は「対処⑤」にあるように、エクスプローラーの表示項目を規定値に戻した事で解決しました。
このあたり、原因と解決方法は人それぞれで、ディスクやファイル破損が原因でディスクスキャンで直る人も多いでしょうし、あくまでも個人の1つの対処例として書いておきます。
根本原因
思い当たるのは、Windows11で、旧右クリックメニューをデフォルト表示させるよう、レジストリを編集したことかなと思います。
もしかすると、エクスプローラーの表示項目(表示/非表示の)制御と、特定のアプリとの相性問題かもしれません。
背景要因
Windows11の右クリックメニューは、Microsoftの匙加減で最低限のものしか出なくなりましたが、ネット上ではレジストリを編集する事で旧右クリックメニューを表示できるようにする小技が紹介されてます。
その時は良かったんですけど、しばらくして、デフォルトの右クリックメニューに項目を追加できるアプリが登場しました。かつ、Windowsアップデートで右クリックメニューの仕様が少し変わりました。
そのタイミングで、おそらくこのwin32 exceptionが発生するようになったと記憶してます。
右クリック時の表示仕様はWindowsアップデートの度に変わるので、レジストリ編集で旧メニューをデフォルト表示させるという裏技は若干リスクが高まってると思いました。
デバッグ①(イベントビューアやprocdump)
例外エラーなのでイベントビューアにログが出るから、そこから関連するアプリを探すつもりが、イベントビューアにログが出ません。
procdumpでdllhost.exeの例外エラーをモニタリングしようとしても、エラーイベントは飛びません。WindowsのShell Extensionがもっと早いタイミングで落ちてるのか、まあそれすらエラーとして記録されません。
OSとしては問題なく動いてるつもりが、dllhost.exeを巻き添えにしつつサクッと落ちてる感じでしょうか。
ひとまず解決すべく色々試みてみました。
対処①レジストリを戻す(解決せず)
追加したレジストリ項目を削除して、デフォルトの右クリックメニューに戻しましたがだめです。
対処②不要なアプリ削除(解決せず)
右クリックメニューに登場するWin32アプリケーションを削除してみましたがダメでした。
対処③ディスクスキャン(解決せず)
右クリックした時の状態とイベントの組み合わせで想定外の事が起きてるということなので、ディスクやプログラムファイルの破損というよりは論理的なエラーのようです。
そういう点で、クラッシックメニューを表示させる小技は想定外の組み合わせを引き起こしてしまう可能性もあるのかなと思いました。
対処④ShellExViewでメニュー項目の無効化(解決せず)
右クリックメニューに関する問題解決のために良く使われるフリーソフトです。
とりあえずMicrosoft標準のプログラム以外で、デスクトップ(Desktop)に関連する項目を無効化しましたが、だめでした。
対処⑤エクスプローラーの表示項目を規定値に戻す(解決?)
私の場合、これが有効だったかなと思います。
右クリックという操作に固執してしまってましたが、右クリックした際に表示される項目といえば、ここも関係してきます。
規定値に戻すことで、例外エラーは出なくなりました。
対処⑥Windows関連の右クリック項目の無効化(効果不明。リスクあり)
ShellExViewでWindows関連の項目も含め、デスクトップの右クリックに関わる全項目を無効化してみたのですが、実はこれと対処⑤の合わせ技だった可能性もあります。
ただ、この操作は他のログインユーザ含めてOS全体に影響するものなので、非推奨です。実際無効化したものの、右クリックメニュー自体に影響は無かったのですが、たまたまかと思います。
最後に
久々にOSの再インストールして綺麗にしてしまおうかとも思いましたが、数多の開発ツール、案件用に追加したChromeのプロフィールのコピー等々思い浮かべると、土日がつぶれるボリュームになるのでやめておきました。
ちなみに最近はWindows自体のバグが増えてるので、MacとZorin OSを使う機会を増やしています。
作業上問題が無いレベルになったらWindowsは使うのをやめる予定でいます。