プログラムが正常に起動しない原因となるアプリケーションエラー0xc00007bを修正する方法
0xc00007b エラーメッセージは本当に厄介です。ゲームやアプリを実行しようとした時に表示され、まるで Windows が「だめだ、起動できない」とお手上げ状態になっているかのようです。通常、これは何らかの不一致が原因です。例えば、適切な DLL ファイルがない状態で 32 ビットアプリを 64 ビットシステムで実行しようとした場合や、システムファイルが破損していて問題が発生している場合などです。場合によっては、間違った Visual C++ 再頒布可能パッケージが問題を引き起こしていたり、DirectX ファイルが古かったり破損していたりして動作が不安定になっていることもあります。原因が何であれ、少し面倒でも、プログラムを再び起動させるために試してみる価値のある方法がいくつかあります。
「アプリケーションを正しく起動できませんでした(0xc00007b)」エラーを修正する方法
Visual C++ 再頒布可能パッケージを再インストールする — 通常は有効な修正方法
このエラーは、多くの場合、DLLファイル(特にVisual C++のもの)の不足または不一致が原因です。環境によっては、正しいバージョンのvcredistをインストールするだけで問題が解決する場合があります。そのため、古いまたは破損したVC再頒布可能ファイルが残っている場合は、まずそれらをすべてアンインストールしてから、新しいコピーをインストールすることをお勧めします。Visual C++再頒布可能ランタイムのオールインワンをダウンロードしてください。そう、すべてのバージョンがバンドルされています。ただし、まず、競合を避けるため、現在インストールされているものをすべて削除する必要があります。
既存のVC再頒布可能ファイルをアンインストールする
- スタートメニューに移動し、コントロールパネルを検索します。
- 表示方法を「大きいアイコン」に設定し、「プログラムと機能」を開きます。
- Microsoft Visual C++ Redistributableなどのエントリを探します。いくつかの異なるバージョンがリストされている可能性があります。
- それぞれを右クリックし、「アンインストール」を選択します。プロンプトが表示されたら確認します。複数のバージョンでこの操作が必要になる場合があります。マシンによっては、複数のVC再頒布可能パッケージがインストールされている場合があり、これは問題ありません。ただし、再実行する前に、すべて削除されていることを確認してください。
これらをすべて削除したら、まだ残っている可能性のあるキャッシュファイルをすべて削除しましょう。コマンドプロンプトを管理者として開き(Windows + R、 と入力しcmd、Ctrl + Shift + Enter)、以下を入力します。
dism.exe /online /Cleanup-Image /StartComponentCleanup
これにより、以前のインストール時に残ったデータがすべて消去されるはずです。その後、PCを再起動してください。Windows は必要以上に手間取るからです。
オールインワンランタイムをインストールする
再起動後、ダウンロードしたバンドルを解凍します(こちら、またはダウンロードした場所から入手できます)。install_all.batを管理者として実行します。右クリックして「管理者として実行」を選択してください。アプリに必要なすべての VC バージョンがインストールされるため、しばらくお待ちください。完了したらシステムを再起動し、アプリがエラーなしで起動するかどうかを確認してください。
一部の設定では、このプロセスが必ずしも最初からうまくいくとは限りません。そのため、再実行やバージョンの互換性の確認が必要になったとしても、諦めないでください。また、システムファイルの不一致もこれらのエラーの原因となる可能性があるため、インストール後はWindowsが完全に最新の状態であることを確認してください。
.NET Framework が有効になっていることを確認する
ちょっと変な話ですが、新しいアプリや一部の古いアプリは. NET Frameworkに大きく依存しています。無効にすると起動時に問題が発生します。
- [スタート]をクリックし、[コントロール パネル]に移動します。
- [プログラムと機能]を選択します。
- Windows の機能の有効化または無効化をクリックします。
- 下にスクロールして、.NET Framework 4.xのすべてのバージョンにチェックが入っていることを確認してください。一部の Windows バージョンでは、「.NET Framework 3.5 (.NET 2.0 および 3.5 を含む)」という名前になっています。
- 「OK」をクリックします。Windows が必要なファイルを取得しますが、少し時間がかかる場合があります。
- 完了したら、「今すぐ再起動」をクリックします。
アプリがデフォルトで有効化されていない特定の. NETコンポーネントを必要とする場合、この手順は非常に重要です。一部のPCでは、これを有効にすると、0xc00007bなどの起動エラーが修正されます。
DirectXをインストールまたは修復する
ゲームやアプリがDirectXを使用している場合、古いファイルや破損したファイルが原因でエラーが発生する可能性があります。DirectXエンドユーザーランタイムをダウンロードしてください。インストーラーを実行し、画面の指示に従って再起動してください。この手順は当てずっぽうになることもありますが、ある環境では問題が解決したのに、別の環境ではうまくいかなかったというケースもあります。試してみる価値はあります。
DLLファイルの再登録
DLLファイルが正しく登録されない場合があります。特にWindowsのアップデート後や、DLLを手動でコピーした場合などに顕著です。system32フォルダ内のすべてのDLLを再登録するという強引な手段が、場合によっては効果を発揮することがあります。
- Windows + Rを押してcmdと入力し、Ctrl + Shift + Enter を押したまま管理者として実行します。
- タイプ:
for %i in (%windir%\system32\*.dll) do regsvr32.exe /s %iこのコマンドは、system32 内のすべての DLL を再登録し、不足している参照や壊れた参照を修正できます。
あるいは、特定の DLL の場合は次のように入力します。
regsvr32 <full-path-to-dll>
アプリがどのDLLで問題を抱えているか正確にわかっている場合は、これで解決するかもしれません。しかし、正直なところ、エラーが漠然としている場合は、すべてのDLLを再登録するのが最も簡単な解決策になることもあります。
システムを32ビットから64ビットにアップグレードする
OSが32ビットの場合、64ビットアプリを実行することは実際には不可能です。まだ32ビット版Windowsをお使いの場合は、このような問題を回避するために64ビット版にアップグレードすることをお勧めします。最近のアプリケーションのほとんどは64ビット版であり、32ビットシステムで無理に互換性を維持しようとすると、今回のエラーが発生する可能性があります。
ディスクのエラーをチェックする
ドライブ上の不良セクタや破損したファイルも、ランタイムの問題の原因となる可能性があります。chkdskを実行してエラーをチェックし、修正してください。
- 管理者としてコマンドプロンプトを開きます。
- タイプ:
chkdsk X: /fここで、X はドライブ文字 (C、D など) です。
- Enterキーを押して待ちます。/r または /v オプションの場合は、それぞれ のように置き換えてください
chkdsk C: /r。
そのまま放置して再起動してください。ディスクセクターに欠陥があると、DLLやシステムファイルに悪影響を及ぼし、0xc00007bのようなエラーが発生することがあります。
管理者としてプログラムを実行 & 互換モード
権限の問題の場合は、アプリまたはゲームを右クリックし、「プロパティ」を選択して「互換性」タブに移動します。「このプログラムを管理者として実行」にチェックを入れてください。アプリが現在のOSバージョンよりも古いバージョンで設計されている場合は、Windows 7またはXPの互換モードで実行するように設定すると問題が解決する場合があります。「適用」と「OK」をクリックしてください。
Windows を更新する
最後に、Windowsが完全に更新されていることを確認してください。これらのエラーは、システムアップデートが不足していることが原因である場合があります。Windows + Iを押し、 「更新とセキュリティ」 > 「Windows Update」に移動し、「更新プログラムのチェック」をクリックします。保留中の更新プログラムをすべてインストールし、再起動してください。
プログラムを再インストールする
それでも問題が解決しない場合は、問題のあるプログラムを完全にアンインストールし、再度ダウンロードしてインストールしてください。これにより、DLLファイル、再配布可能ファイル、設定が一度にリセットされます。破損したインストールファイルが問題の原因である場合は、クリーンな再インストールで解決できることがあります。
正直なところ、このエラーの修正は消去法で進めることが多いです。一つ試してみて、それからまた次の方法を試す、といった具合です。なぜうまくいくのかは分かりませんが、これらの修正をうまく組み合わせることで、大抵は問題を解決できます。
まとめ
- Visual C++ 再頒布可能パッケージを再インストールします (すべてのバージョンをインストールしてから、最新のオールインワンをインストールします)
- .NET Framework を有効にし、Windows を更新しました
- DirectXランタイムをインストールまたは修復しました
- 再登録されたDLLファイル
- chkdskでディスクエラーをチェックしました
- 管理者として、または互換モードでアプリを実行しました
- 必要に応じて64ビットOSにアップグレード
- 他のすべてが失敗した場合はプログラムを再インストールします
まとめ
0xc00007bのようなエラーへの対処は、忍耐と試行錯誤の組み合わせです。上記の手順はよくある原因をカバーしていることが多いですが、場合によっては特定の設定の不具合が原因であることもあります。この方法が、誰かのストレス解消に役立ち、ゲームやアプリが再び使えるようになることを願っています。一部のマシンではうまくいきました。皆さんのマシンでもうまくいくことを願っています。