2024/02/13 にリリースされた Windows 11 の更新プログラム KB5034765 をインストール後、一部の環境ではシャットダウンや再起動をすると「explorer.exe – アプリケーションエラー」が表示され、PC がフリーズする場合があります。
Microsoft は、explorer.exe に関するエラーは修正したと公表していますが、完全には修正されていないようです。
先日もユーザー様からコメントがあり、Xbox ワイヤレスコントローラー + USB-C を有線接続後に「explorer.exe – アプリケーションエラー」が出るようになったということです。
コントローラーを接続したまま、接続解除、どちらもエラーが出ているようですが、コントローラーを繋げずに起動し、シャットダウンまたは再起動をした場合エラーは出なくなるようです。
このエラーに関しては、Windows 8.1 または Windows Server 2012 R2 でも出ていたようで、原因は Explorer.exe プロセスがシャット ダウン処理中に、既に解放されたメモリにアクセスするために発生するということです。
Microsoft の言う「既に解放されたメモリにアクセスするために発生する」というのが原因であるならば、根本的な原因はプログラミングのミスでしょう。
既に解放されたメモリにアクセスし続けると、メモリリーク(プログラムが使用できるメモリー容量が徐々に減少していく)を引き起こして PC がフリーズしてしまうことがあります。
また、このときに保存されていないデータがあった場合、データが壊れる可能性もあります。
ゲームパッド(コントローラー)を使用している環境で KB5034765 をインストールしていない場合はしばらく様子を見ることをおすすめします。
ゲームパッド(コントローラー)を使用していない環境ではエラーは発生しないようですが、Microsoft には早急に対処してほしいですね。
Win11 解決! KB5034765 デスクトップやタスクバーの表示が遅い
追記:
コントローラーを有線ではなく無線で接続するとエラーが出なくなるという情報もあります。
今現在原因として考えられるのは、explorer.exe 自体、またはシステムファイルの「ExplorerFrame.dll」というファイルに問題(プログラミングのミス)があるのかもしれません。
※「ExplorerFrame.dll」がなければエクスプローラーは動かなくなります。
KB5034204 および KB5034765 では「explorer.exe」と「ExplorerFrame.dll」のどちらも新しいバージョンに更新されていますので、可能性としては大です。
ユーザー様からの情報:
- 高速スタートアップは無効、有効時どちらもシャットダウンまたは再起動時にエラーが出る
- コントローラーの電源がオフ(デバイスマネージャーでは認識されている)の状態でコントローラーを接続したままor接続解除しシャットダウン、再起動するとエラーは出ない
- 電源をオンにする事orオンにした状態がエラーのトリガーになっている
2024/03/01:
reddit.com のユーザーのコメントによると、「explorer.exe – アプリケーションエラー」の原因は「GameInput Service」であるようです。
「GameInput Service」は 2つありますが、新しい方のサービスが原因となっているようです。
「GameInput Service(Enables keyboards, mice, gamepads, and other input devices to be used with the GameInput API.)」は、デフォルトで「手動」となっており、おそらくゲームパッド(コントローラー)を接続(電源を ON に)するとサービスが開始されるのだと思います。
この「GameInput Service」が開始されており、且つゲームパッド(コントローラー)の電源が ON のままシャットダウンや再起動を行うと「explorer.exe – アプリケーションエラー」が出るようです。
ユーザーによると、「GameInput Service」を停止して「無効」に設定すると「explorer.exe – アプリケーションエラー」は出なくなると言っています。
しかし、「GameInput Service」を無効にすると一部のコントローラーが正常に動作しなくなる可能性がありますので、Microsoft が修正するまではシャットダウンや再起動の前に「GameInput Service」を停止することでエラーを回避できるのではないでしょうか。
バッチファイルを作成して管理者として実行すれば、簡単に「GameInput Service」を停止してから再起動またはシャットダウンをすることができます。
「GameInput Service」を停止するコマンド:
sc stop GameInputSvc
再起動のコマンド:
Shutdown /r /t 0
シャットダウンのコマンド:
Shutdown /s /t 0
例えば「GameInput Service」を停止してから再起動をするコマンドなら次のようになります。
sc stop GameInputSvc
Shutdown /r /t 0
対処法を実行したユーザー様からの情報がありますのでご覧ください。
コメント(Chino 様 – 2024年3月6日 2:35 AM)
2024/03/25:
ユーザー様から新たな情報が入りました。(情報をありがとうございます)
- 「XInput」と「DirectInput」の切り替えができるタイプのコントローラーで「DirectInput」に切り替えた場合、シャットダウン時の「explorer.exe – アプリケーションエラー」は出ていないようです。
- 「XInput」から「DirectInput」に切り替えることで、Xbox のゲームパッドが外されたのと同じ挙動になっているようです。
- 「XInput」から「DirectInput」への切り替えおよびスイッチ式の USBハブをオフにしても「GameInput Service」は自動で停止しない。
上記のことから、この問題は Windows 11 側で Xbox 用のコントローラーが接続されていると認識していることが原因のようです。
コメント(降順)
情報ありがとうございます。
redditユーザーのコメントの通り、新しい「GameInput Service」
(C:\Windows\System32\GameInputSvc.exe)が原因となっているようです。
デフォルトは「手動(トリガー開始)」、「停止」になっており
Xboxコントローラーを接続または電源をONにすると「実行中」になりました。
シャットダウンや再起動の前に「GameInput Service」を停止すると
「explorer.exe–アプリケーションエラー」は出ませんが、やはり遅延が発生します。
「無効」にした後、PCを起動しコントローラーを接続した場合は
エラー、遅延が無くなりコントローラーも問題無く動作しました。
私の場合、遅延が気になるのとSteamの一部ゲームのみ「Xboxコントローラー」
を使用し動作に支障が無かった為、「無効」にして修正を待ちたいと思います。
Chino様、
>シャットダウンや再起動の前に「GameInput Service」を停止すると
「explorer.exe–アプリケーションエラー」は出ませんが、やはり遅延が発生します。
対処法実行後の症状を教えていただきありがとうございます。この情報は多くの方の参考になると思います。
2024/2/29 にプレビューリリースされた KB5034848 でも解決されていないようなので、おそらく次回の更新プログラムで修正されると考えています。
あるいは Microsoft が一時的な対処法を発表するかもしれません。
返信ありがとうございます。
KB5034848はインストールしておらず、対処法実行時の環境は以下でした。
Windows 11 Home/OSビルド:22631.3155(KB5034765インストール後)
明日から数週間自宅を離れる為、その間に一時的な対処法や修正がされた場合
フィードバックは出来なくなりますが
情報が少ない中、更新をして頂いて大変助かりました。
ありがとうございました。
Chino様、
こちらこそ貴重な情報をありがとうございました。また何かわかれば追記したいと思います。
こんにちは、情報助かります。
高速スタートアップは無効にしています。
有効にしてコントローラーを接続したまま再起動しましたがエラーが出ました。
>Explorer.exe プロセスがシャット ダウン処理中に、既に解放されたメモリにアクセスするために発生する
という事は逆にエクスプローラーを終了してから
シャットダウンと再起動をしたらどうなるのかと思いやってみました。
エラーは出ませんでしたがエラーが出た時と同様
シャットダウン、再起動に時間が掛かりましたので
エラーウィンドウが表示されていないだけのように思います。
エラーが無い時のシャットダウン1秒/エラー時のシャットダウン5~10秒
Xbox Accessory Management Service
スタートアップの種類:無効
サービスの状態:停止
一年前から上記の状態ですがエラーが発生します。
Chino様、対処法を実行していただきありがとうございます。
ということは、今のところ有効な方法はコントローラーを繋げずに起動することですね。(無線で繋げるとエラーが出ないという情報もあります)
※高速スタートアップの有効時に再起動ではなくシャットダウンをした場合はエラーが出ないかもしれません。
今現在原因として考えられるのは、explorer.exe 自体、またはシステムファイルの「ExplorerFrame.dll」というファイルに問題(プログラミングのミス)があるのかもしれません。(「ExplorerFrame.dll」がなければエクスプローラーが動かなくなります)
KB5034204 および KB5034765 では「explorer.exe」と「ExplorerFrame.dll」のどちらも新しいバージョンに更新されていますので、可能性としては大です。
返信ありがとうございます。
高速スタートアップ有効時のシャットダウンでもエラーが出ました。
コントローラーの正面上部にあるXboxボタンが光らない=コントローラーの電源がオフ
(デバイスマネージャーでは認識されている)
の状態でコントローラーを接続したままor接続解除し
シャットダウン、再起動するとエラーは出ませんでした。
遅延もありませんでしたのでエラーウィンドウが表示されていないだけ
の時とは異なりエラー自体が発生していないようです。
高速スタートアップ無効、有効時どちらも同様の結果でした。
コントローラを使用しない時は毎回抜き差ししていますので
今までは全て電源をオンにしたまま確認していました。
電源をオンにする事orオンにした状態がエラーのトリガーになっているようです。
Chino様、情報ありがとうございます。
>高速スタートアップ無効、有効時どちらも同様の結果でした。
>電源をオンにする事orオンにした状態がエラーのトリガーになっているようです。
これらの情報を Microsoft にフィードバックすれば、原因を特定して解決してくれるかもしれませんね。