Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法

Windowsユーザーの間で、インターネットへの接続やアプリケーションのインストールを行う際に「ShellExecuteEx Failed」というエラーメッセージが表示されるという報告が相次いでいます。エラーメッセージとともに表示されるコードは様々ですが、調査の結果、この問題は特定のWindowsバージョンに限定されたものではなく、Windows 7、Windows 8.1、Windows 10のいずれでも発生することが確認されています。

Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法

Windowsで「ShellExecuteEx Failed」エラーが発生する原因

この問題について、多数のユーザーレポートと一般的な修復手順をもとに調査を行いました。その結果、以下のような複数の原因が考えられることが判明しています。ご自身の状況に当てはまるものがないか確認してみてください。

  • アプリケーションに管理者権限がない – 権限不足によってアプリが予期せず終了するケースでは、この問題が頻繁に発生します。この場合、アプリを管理者として実行するよう設定することで、ほとんどのケースで問題を解決できます。
  • システムファイルの破損 – エラーを表示しているアプリケーションが依存するシステムファイルが破損している可能性もあります。DISMとSFCという2つの組み込みユーティリティを使って論理エラーや破損した項目を修復したところ、問題が解決したという報告が多く寄せられています。ただし、深刻な場合はクリーンインストールまたは修復インストールによってWindowsコンポーネントをリセットするしかないこともあります。
  • カスタムシステムサウンドによるクラッシュ – 一部のカスタムテーマに含まれるシステムサウンドを、アプリ側が正しく処理できずにクラッシュするケースもあります。この場合は、サウンド設定をWindowsのデフォルトに戻すことで解決できます。
  • アプリケーション間の競合 – 起動しようとしているアプリのプロセスが、別のアプリケーションと競合し、エラーが発生することもあります。競合するアプリを特定する確実な方法はないため、クリーンブートモードでPCを起動し、症状が消えるかどうかを確認するのが最善です。
  • 過度に厳格なローカルポリシー – 「署名および検証済みの実行可能ファイルのみ昇格する」というローカルポリシーが有効になっている場合、適切に署名されていないすべての実行ファイルがこのエラーによって起動を阻止されます。この場合は、グループポリシーエディターで該当ポリシーを無効化すれば問題を解決できます。

方法1:アプリケーションを管理者として実行する(該当する場合)

アプリケーションの起動時やインストール時に「ShellExecuteEx Failed」エラーが表示される場合、管理者権限がないためにアプリ(またはインストーラー)が予期せず終了している可能性が高いです。

この種の問題は、オープンソースアプリや小規模な開発チームによるアプリでよく見られます。大手開発チームの製品で発生した例は確認されていません。

このシナリオが当てはまると思われる場合は、アプリを強制的に管理者権限で起動するように設定するだけで解決できます。手順は以下の通りです。

  1. エラーが発生するアプリケーションを右クリックし、表示されたメニューからプロパティを選択します。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法
  2. プロパティ画面が開いたら、互換性タブを選択し、設定セクションにある「管理者としてこのプログラムを実行する」にチェックを入れます。その後適用をクリックして、この設定をデフォルトの動作として保存します。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法
  3. アプリケーションを再度起動し、問題が解決したかどうかを確認します。

同じ「ShellExecuteEx Failed」エラーが引き続き表示される場合は、次の方法に進んでください。

方法2:DISMおよびSFCスキャンを実行する

場合によっては、システムファイルの破損がインストールの完了を妨げ、「ShellExecuteEx Failed」エラーが発生することがあります。このシナリオに該当する場合、被害を最小限に抑えながら破損を修復するのが唯一の現実的な解決策となります。

そのためには、DISM(展開イメージのサービスと管理)SFC(システムファイルチェッカー)という組み込みユーティリティを活用するのが最適です。どちらも破損したシステムファイルの修復に対応していますが、動作の仕組みが異なります。

SFCはローカルに保存されたキャッシュを使用して破損したファイルを正常なコピーに置き換える一方、DISMはWindows Update(WU)から置き換えに必要な正常なファイルをダウンロードします。それぞれ得意分野が異なるため(SFCは論理エラーの修復に優れています)、両方のスキャンを実行することで成功率を高められます。

手順は以下の通りです。

  1. Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開きます。テキストボックスに「cmd」と入力し、Ctrl + Shift + Enterを押して管理者権限のコマンドプロンプトを開きます。UAC(ユーザーアカウント制御)の確認画面が表示されたら、はいをクリックします。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法
  2. 管理者権限のコマンドプロンプトで、以下のコマンドを入力してEnterキーを押し、SFCスキャンを開始します。
    sfc /scannow

    注意: 処理が完了するまでウィンドウを操作しないでください。中断するとさらなる論理エラーが発生し、修復がより困難になる可能性があります。

  3. スキャンが完了したら、PCを再起動します。OSが完全に起動したら、再度手順1に従って管理者権限のコマンドプロンプトを開き、以下のコマンドを1行ずつ入力してEnterキーを押し、DISMスキャンを実行します。
    Dism.exe /online /cleanup-image /scanhealth
    Dism.exe /online /cleanup-image /restorehealth

    注意: この処理を開始する前に、インターネット接続が安定していることを確認してください。最初のコマンドでスキャンが開始され、2番目のコマンドで修復が実行されます。

  4. DISMスキャンが完了したら、PCを再起動し、次回のシステム起動時に問題が解決しているかどうかを確認します。

同じ操作を繰り返しても「ShellExecuteEx Failed」エラーが表示される場合は、次の方法に進んでください。

方法3:システムサウンドをデフォルトに戻す

複数のユーザーから報告されているように、一部のテーマで定義されたシステムサウンドを、それを使用しようとするモジュールが正しく処理できないことが原因で、この問題が発生する場合があります。この場合、サウンドを再生しようとした瞬間にアプリがクラッシュします。

このシナリオに該当する場合は、すべてのWindowsサウンドをデフォルトに戻すことで問題を解決できます。実際にこの方法を試した多くのユーザーから、再起動後に問題が解決したとの報告が寄せられています。

システムサウンドをデフォルト値に戻す手順は以下の通りです。

  1. Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開きます。テキストボックスに「mmsys.cpl」と入力してEnterキーを押し、サウンド画面を開きます。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法
  2. サウンドウィンドウが開いたら、上部のメニューからサウンドタブを選択します。次に、サウンドの種類Windows標準に変更します。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法

    注意: 現在のサウンドの種類がWindows標準(変更)に設定されている場合は、無効なサウンドが含まれている可能性があるため、Windows標準に変更してください。

  3. サウンドの種類の変更が完了したら、PCを再起動し、次回のシステム起動時に問題が解決しているかどうかを確認します。

以前「ShellExecuteEx Failed」エラーを引き起こしていた操作をもう一度実行し、問題がまだ発生する場合は、次の方法に進んでください。

方法4:クリーンブートを実行する

ここまでの方法で効果が得られなかった場合、何らかのサードパーティ製ソフトウェアとの競合が「ShellExecuteEx Failed」エラーを引き起こしている可能性があります。競合の原因となるアプリケーションは数多く存在するため、最も効果的な対策は、PCをクリーンブート状態で起動するよう構成することです。

以下の手順に従ってクリーンブート状態を作り出し、競合の原因となっているアプリケーションを特定しましょう。

  1. Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開きます。「msconfig」と入力してEnterキーを押し、システム構成メニューを開きます。UAC(ユーザーアカウント制御)の確認画面が表示されたら、はいをクリックして管理者権限を付与します。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法
  2. システム構成ウィンドウが開いたら、上部のサービスタブを選択し、「Microsoftのサービスをすべて隠す」にチェックを入れます。これにより、Windowsの必須サービスが一覧から除外され、誤って無効化してしまうリスクを回避できます。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法
  3. 重要なサービスを一覧から除外できたら、すべて無効ボタンをクリックし、次回の起動時にサードパーティ製サービスが一切起動しないようにします。
  4. 次に、上部のメニューからスタートアップタブを選択し、タスクマネージャーを開くをクリックします。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法
  5. タスクマネージャーのスタートアップタブで、各スタートアップ項目を順番に選択し、画面下部の無効化ボタンをクリックします。これにより、次回のシステム起動時にスタートアップサービスが一切呼び出されなくなります。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法
  6. ここまでの手順で、「ShellExecuteEx Failed」エラーを表示するアプリケーションに干渉しうるすべてのサービスとプロセスを無効化できました。このクリーンブート状態を活用するため、PCを再起動します。
  7. 次回のシステム起動後、アプリケーションを起動してみて、エラーがまだ発生するかどうかを確認します。エラーが発生しなくなったら、インストールを完了させ、その後上記の手順を逆にたどって、無効化していたサービスを再度有効にしていきます。こうすることで、競合の原因となっている具体的なアプリを特定できます。

この方法でも「ShellExecuteEx Failed」エラーを解決できなかった場合は、次の方法に進んでください。

方法5:「署名済みの実行可能ファイルのみ昇格する」ポリシーを調整する

この問題は、「署名および検証済みの実行可能ファイルのみ昇格する」というグループポリシーを調整することでも回避できる場合があります。ただし、この方法が有効なのは、適切に署名されていない実行ファイルが原因で問題が発生しているケースに限られます。

実際に、このポリシーを無効化したところエラーが発生しなくなり、インストールが成功したという報告が複数のユーザーから寄せられています。

注意: 一部のWindowsバージョン(Homeエディションなど)にはグループポリシーエディターが含まれていません。その場合はこの方法を利用できないため、最後の方法に直接進んでください。

ShellExecuteEx Failed」エラーの原因となっているポリシーを無効化する手順は以下の通りです。

  1. Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開きます。テキストボックスに「gpedit.msc」と入力し、Ctrl + Shift + Enterを押して、管理者権限でローカルグループポリシーエディターを開きます。UAC(ユーザーアカウント制御)の確認画面が表示されたら、はいをクリックして管理者アクセスを許可します。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法
  2. ローカルグループポリシーエディター内で、左側のパネルからコンピューターの構成 > Windowsの設定 > セキュリティの設定へと移動します。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法
  3. セキュリティオプションメニューを選択した状態で、右側の一覧から「ユーザーアカウント制御: 署名および検証済みの実行可能ファイルのみ昇格する」ポリシーをダブルクリックします。
  4. ポリシーの設定画面が開いたら、ローカルセキュリティの設定タブを選択し、ポリシーが無効に設定されていることを確認します。Windowsで「ShellExecuteEx Failed」エラーを修正する6つの対処法
  5. 適用をクリックして変更を保存し、PCを再起動して、次回のシステム起動時に問題が解決しているかどうかを確認します。

それでも「ShellExecuteEx Failed」エラーが発生する場合は、次の最終手段に進んでください。

方法6:クリーンインストールを実行する

ここまでのどの方法でも問題を解決できなかった場合、従来の手法では修復できない根本的なシステム破損に直面している可能性が高いです。この場合、すべてのWindowsコンポーネントをリセットする以外に解決策はありません。

最も手早い方法はクリーンインストール(こちらの手順を参照)ですが、この作業ではインストール済みのアプリケーション、ゲーム、メディア、ユーザー設定など、個人データがすべて失われることに注意してください。

やや時間はかかりますが、より効率的な方法として修復インストール(上書きインストール)があります。この手順では、ゲーム、アプリケーション、ユーザー設定、あらゆる種類のメディアといった個人データをすべて保持したまま、Windowsを再インストールできます。修復インストールを実行する場合は、こちらの手順に従ってください。

  1. 【保存版】Windowsのアプリケーションエラー 0xc0000142 を解決する7つの対処法

    アプリケーションエラー 0xc0000142 の解決方法:「エラー 0xc0000142」は、どの Windows バージョンでも発生する可能性があり、通常はアプリケーションが正常に初期化できない際に表示されます。このエラーは非常に厄介で発生頻度も高く、Windows の中核的なアプリケーションにも影響を及ぼします。プログラムを起動しようとするたびに、次のようなエラーメッセージが表示されます。 アプリケーションを正しく起動できませんでした(0xc0000142)。[OK] をクリックしてアプリケーションを終了してください。 アプリケーションエラー 0xc0000142 の主な原因 このエラ

  2. アプリケーションエラー0xc0000005の原因と8つの解決策【Windows対応】

    アプリケーションエラー 0xc0000005(アクセス違反)は、特定のプログラムの起動やインストールに必要なファイルや設定を、パソコンが正しく処理できないことで発生するエラーです。特定のソフトウェアを使用しようとした瞬間や、Windowsのアップグレード中に表示されることがありますが、その原因は多岐にわたります。故障したRAM、PC内のファイル破損、設定の不具合などが代表的な例として挙げられます。 アプリケーションエラー 0xc0000005 の主な原因 Windowsのインストールエラー WDFアクセス違反エラー アプリケーションが起動できない このエラーは、Windowsでプログラム