Windows 11
 Computer >> コンピューター >  >> システム >> Windows 11

【解決】WindowsでEXEファイルが開けない・実行できないときの対処法

ウイルス感染後やシステムレジストリの誤った変更後に、実行可能なEXEファイル(MSIインストーラーやPowerShell/CMD/VBScriptファイルなど)がWindowsで開けなくなることがあります。エクスプローラーからプログラム(ショートカット)を実行しても何も反応しない、「このファイルを開くアプリを選択してください」というウィンドウが表示される、あるいはすべてのEXEファイルが別のプログラム(メモ帳やペイントなど)で開かれてしまう――こうした症状に悩まされるケースです。

本記事では、Windowsで実行可能ファイルやアプリケーションが一切起動できなくなった場合の原因と、具体的な修復方法を詳しく解説します。

Windowsで壊れたEXEファイルの関連付けを修復する方法

Windowsで *.exe ファイルを実行すると、次のようなウィンドウが表示されてしまうことがあります。

【解決】WindowsでEXEファイルが開けない・実行できないときの対処法

また、以下のようなエラーメッセージが表示される場合もあります。

このファイルに対してこの操作を実行できるアプリが関連付けられていません。アプリをインストールするか、既にインストールされている場合は、既定のアプリ設定ページで関連付けを作成してください。
指定されたデバイス、パス、またはファイルにアクセスできません。アイテムにアクセスするための適切なアクセス許可がない可能性があります。
Windowsはこのファイルを開くことができません。

【解決】WindowsでEXEファイルが開けない・実行できないときの対処法

この問題の多くは、ウイルス感染や「最適化」を目的としたレジストリ編集の失敗がきっかけで発生します。原因は、Windowsレジストリ内で *.exe ファイルの関連付けがリセットされてしまったことです。

通常ならレジストリエディター(regedit.exe)で関連付けを復元できますが、regedit.exe自体も実行ファイルのため開けません。cmd.exeもPowerShellも起動しない状態です。このような場合、次の手順を試してください。

  1. デスクトップに新しいテキストファイルを作成します。
  2. ファイルに次の1行を貼り付けます:start cmd
  3. ファイル名をrun.batに変更します。
  4. ファイルを右クリックし、管理者として実行を選択します。【解決】WindowsでEXEファイルが開けない・実行できないときの対処法
  5. UAC画面で特権の昇格を承認すると、管理者権限のコマンドプロンプトウィンドウが開きます。
  6. regedit.exeを手動で起動してレジストリを直接編集する(後述の方法)か、または開いたコマンドプロンプトに以下のコマンドを貼り付けて実行します。
    reg delete HKEY_CLASSES_ROOT\.exe /ve /f
    reg add HKEY_CLASSES_ROOT\.exe /ve /d exefile /f
    reg delete HKEY_CLASSES_ROOT\exefile /ve /f
    reg add HKEY_CLASSES_ROOT\exefile /ve /d Application /f
    reg delete HKEY_CLASSES_ROOT\exefile\shell\open\command /ve /f
    reg add HKEY_CLASSES_ROOT\exefile\shell\open\command /f /ve /d "\"%1\" %*\"
    assoc .exe=exefile

    【解決】WindowsでEXEファイルが開けない・実行できないときの対処法
  7. これらのコマンドにより、EXEファイルの関連付けが既定の状態にリセットされます。
  8. コンピューターを再起動し、任意のアプリが起動できるか確認します。

もし *.bat や *.cmd ファイルすら起動できない場合は、セーフモードでレジストリを手動編集する必要があります。

  1. コンピューターをセーフモードで起動します(電源ボタンを3回連続で押してWindowsの起動を強制中断します)。
  2. Windows回復環境(WinRE)が起動するので、「トラブルシューティング」→「詳細オプション」→「スタートアップ設定」→「再起動」の順に選択し、F4キーを押してセーフモードでWindowsを起動します。
  3. レジストリエディター(regedit.exe)を起動し、キーHKEY_CLASSES_ROOT\.exeへ移動します。
  4. 既定の値をexefileに変更します。【解決】WindowsでEXEファイルが開けない・実行できないときの対処法
  5. 続いてHKEY_CLASSES_ROOT\exefile\shell\open\commandへ移動し、既定の値を"%1" %*に変更します。【解決】WindowsでEXEファイルが開けない・実行できないときの対処法
  6. 同様に、HKCR\exefile\shell\openおよびHKCR\exefileの各キーでも、既定の値を"%1" %*に変更します。
  7. 通常どおりコンピューターを再起動します。エクスプローラーが既定のEXEファイル関連付けを使用するようになり、*.exe ファイルが正常に起動できるはずです。

さらに、*.exe ファイルの関連付けを確実に復元するために、以下の点も確認しておきましょう。

  • EXEファイルの関連付けをリセットするコマンド assoc .exe=exefile を実行します。
  • レジストリキー HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe 内にUserChoiceキーが存在しないことを確認します。存在する場合は削除してください。
  • 以下のコマンドでWindowsイメージとシステムファイルの整合性をチェックします。
    sfc /scannow
    DISM /Online /Cleanup-Image /RestoreHealth
  • ウイルス対策ソフトが実行ファイルの起動をブロックしていないか確認します。
  • 実行ファイルを開く際にセキュリティ警告が表示される場合は、専用のガイド記事の手順に従ってください。

ネットワーク共有からEXEファイルを実行できない場合

ローカル環境ではEXEファイルが正常に実行できるのに、ネットワーク共有フォルダーから実行するとエラーが発生する場合、原因は別の場所にある可能性があります。

  1. 共有フォルダーやファイルの現在のNTFSアクセス許可を確認します。ユーザーにNTFSの読み取り/実行(Read/Execute)権限が割り当てられていないと、実行時に次のようなエラーが表示されます。
    \\server1\sharedfolder\file.exe にアクセスできません。applicatin.exe ファイルにアクセスする権限がありません。

    【解決】WindowsでEXEファイルが開けない・実行できないときの対処法

    NTFSアクセス許可を手動またはPowerShellで変更してください。
    【解決】WindowsでEXEファイルが開けない・実行できないときの対処法

  2. 実行ファイルを互換モードで起動してみてください。EXEファイルのプロパティを開き、「互換性」タブでWindows 8との互換モードを選択してから、ネットワーク共有からアプリを実行します。

【解決】WindowsでEXEファイルが開けない・実行できないときの対処法

また、SMB v1プロトコルのみをサポートするデバイス(NASストレージや、Windows XP・Windows Server 2003などの旧OSが稼働するファイルサーバー)上の共有フォルダーへ接続しようとしていることが原因の場合もあります。

その場合、次のようなエラーが表示されることがあります。

アプリケーションを正しく起動できませんでした (0xc00000ba)
Exception thrown at 0x00007FFA2B86624E
0xC0000005: 場所 0x0000000000000000 の読み取り中にアクセス違反が発生しました)

補足:SMBプロトコルでクライアントとサーバーが通信する際、双方が同時にサポートする最大のプロトコルバージョンが選択されます(WindowsにおけるSMBバージョンの詳細は関連記事を参照)。クライアントがファイルサーバーへの接続に使用しているSMBバージョンは、PowerShellコマンドレット Get-SmbConnection で確認できます。

【解決】WindowsでEXEファイルが開けない・実行できないときの対処法

ファイルサーバーでSMBv2またはSMBv3が有効になっているか、次のコマンドで確認します。

Get-SmbServerConfiguration | Select EnableSMB2Protocol

SMBv2が無効になっている場合は、次のコマンドで有効化できます。

Set-SmbServerConfiguration -EnableSMB2Protocol $true

ファイルサーバーとしてLinux Sambaを使用している場合は、設定ファイルsmb.confでSMB1を無効化できます。[global]セクションに min protocol = SMB2 の行を追加し、Sambaを再起動してください。

デフォルト設定では、Windows Server 2003やSMB1のみ対応のNAS上の共有フォルダーには、最新のWindows 10ビルドからアクセスできません。こうしたSMB共有にアクセスするには、ユーザーのPC側でSMB 1.0/CIFS Client機能を有効にする必要がありますが、セキュリティ上の理由から推奨されません。

【解決】WindowsでEXEファイルが開けない・実行できないときの対処法

正しい解決策は、実行ファイルを含む共有フォルダーを、SMB1プロトコルが無効化されているWindows Server 2012 R2/2016/2019へ移行することです。そうすることで、Windows 10端末から共有フォルダー内の実行ファイルを安全に起動できるようになります。

  1. Windows 10でKodiが開かない・起動しない問題を解決する10の対処法

    Kodiは、オープンソースのメディアプレイヤーの中でも最高峰とされるアプリの一つで、無数のメディアファイルを自由に楽しむことができます。Windows、Linux、Android、macOSなど、さまざまなプラットフォームで利用可能です。そのため、Kodiは間違いなく優れた動画ストリーミングサービスですが、時折エラーやトラブルが発生することもあります。中でも「Kodiが開かない」という症状は、何らかの不具合が起きているサインです。同じ問題でお困りの方は、この記事の手順に従って「Kodiが起動しない」問題を解決しましょう。 Windows 10でKodiが開かない問題を修正する方法 Windo

  2. Windows 11/10でJPGファイルが開けないときの対処法まとめ

    WindowsでJPGファイルが開けない、あるいは「写真」アプリでJPEGファイルが表示されない——デバイスのアップグレード後に多くのユーザーが経験する、よくあるトラブルです。JPGファイルを開こうとした瞬間に「このアプリは起動しませんでした」というエラーメッセージが表示される場合、考えられる原因は以下のとおりです。 JPGファイル自体の破損 「写真」アプリが古いバージョンのまま Windowsアップデートの不具合 サードパーティ製アプリとの干渉 システムの誤作動 ウイルスやマルウェアへの感染 この記事では、Windowsで「JPGファイルが開けない」問題を解決するための対処法をいくつか