「0xc000007b」でPCゲームが起動しない原因|Visual C++・32bit/64bit・DirectXを確認【2026年版】
本記事にはアフィリエイト広告(Amazon・楽天市場等)のリンクが含まれています。
32bit/64bitの不一致とVisual C++・DirectXを確認する
PCゲームを起動したときに、「アプリケーションを正しく起動できませんでした(0xc000007b)。[OK]をクリックしてアプリケーションを閉じてください。」と表示され、ゲームがまったく起動しないことがあります。ゲームを再インストールしても直らず、Windows 11やDirectX 12が最新なのに発生するケースもあります。
結論からいうと、0xc000007bは単純に「Visual C++が入っていない」という意味のエラーではありません。Windowsでは0xC000007Bは「STATUS_INVALID_IMAGE_FORMAT」に対応しており、実行しようとしているEXEや読み込もうとしているDLLの形式に問題がある場合に発生します。32bitプロセスは64bit DLLを、64bitプロセスは32bit DLLを、それぞれ実行用として読み込めない仕様が主な原因です。
この記事では、エラーコード自体の意味と症状別の切り分け方を中心に解説します。Visual C++ RedistributableやDirectXランタイムの詳しい仕組みは別記事で扱っているため、ここでは0xc000007bの診断に必要な範囲に絞ります。
目次
要点まず何が分かるか
0xc000007bはWindowsの「STATUS_INVALID_IMAGE_FORMAT」であり、EXEやDLLのアーキテクチャ不一致や破損で発生すること。1タイトルだけか複数タイトルで発生するかで優先して確認する場所が変わること。64bit Windowsでも32bitゲームにはx86ランタイムが必要な場合があること。DLLを手動でSystem32等へコピーする対処は避けるべきこと。
仕組み0xc000007bとは
0xc000007bはWindowsのエラーコードで、「STATUS_INVALID_IMAGE_FORMAT」として扱われます。「Image」と書かれていますが、写真や画像ファイルが壊れているという意味ではなく、Windowsで実行するEXEやDLLなどのバイナリを正しく読み込めない状態を示しています。
Microsoft公式のテクニカルブログでは、このエラーが発生する典型例として、x64プロセスがx86(32bit)向けにビルドされたDLLを読み込もうとして「形式が不正」と判定されるケースを挙げています。逆に64bitのDLLを32bitプロセスが読み込もうとする場合も同様です。同ブログで紹介されている実例では、64bit版が入っているべきフォルダーに32bit版の同名DLL(mfc140ud.dll)が置かれていたことが原因でした。ファイル自体が本当に破損しているケースもありますが、実務上はアーキテクチャの不一致が原因であることが多いとされています。
PCゲームではゲーム本体だけでなく、Visual C++、DirectX、ゲームランチャー、アンチチートなど多数の外部コンポーネントを読み込んで起動します。その中の1つが破損していたり、ゲームのアーキテクチャと合っていなかったりすると、ゲーム画面が表示される前に0xc000007bで終了することがあります。
切り分け症状から原因の候補を絞る
0xc000007bの原因は1つではありませんが、症状からある程度切り分けられます。特に確認したいのが、1タイトルだけなのか複数タイトルで発生するのかです。
| 症状 | 疑いやすい原因 |
|---|---|
| 1タイトルだけ発生する | ゲームファイル・ゲーム付属ランタイム |
| 複数のゲームで発生する | Visual C++・DirectX・Windows |
| 古いゲームだけ発生する | 旧世代のVisual C++・DirectXランタイム |
| Windows再インストール後に発生 | 必要ランタイムの不足 |
| DLLを手動で入れたあと発生 | x86/x64 DLLの混在 |
| MOD導入後に発生 | MOD側のDLL・ゲームファイル |
| ゲーム以外のアプリでも発生 | Windowsシステムファイルの破損 |
1タイトルだけならゲーム側を優先し、複数タイトルで同じ0xc000007bが出るならVisual C++やWindows側まで確認範囲を広げると効率的です。
最初の確認再起動とゲームファイルの確認
まずWindows自体を再起動してください。Steamのウィンドウを閉じるだけではなく、Windows本体を再起動します。ゲームの更新やランタイムのインストール後は、使用中だったDLLが残った状態になっている場合があります。
特定のゲームだけ0xc000007bになるなら、次にゲームファイルを確認します。Steamライブラリで対象ゲームを右クリックして「プロパティ」を開き、「インストール済みファイル」から「ゲームファイルの整合性を確認」を実行してください。Epic Games Launcherでもライブラリからゲームのメニューを開き、「管理」から「確認」を実行できます。ゲームアップデート直後から0xc000007bが出るようになった場合や、ゲームフォルダーのDLLを変更したあとに発生した場合は特に有効です。100GBを超えるゲームを丸ごと再ダウンロードする前に試したい方法です。
アーキテクチャ64bit Windowsでもx86版ランタイムが必要になる理由
「Windows 11が64bitだからVisual C++もx64だけ入れればいい」とは限りません。64bit版WindowsにはWOW64という仕組みがあり、32bit(x86)アプリケーションも実行できますが、32bitアプリが読み込むDLLも基本的には32bitである必要があります。Microsoftも、32bitプロセスから64bit DLLを実行用としてロードすることはできず、逆に64bitプロセスから32bit DLLを読み込むこともできないと説明しています。
つまり64bit版Windowsを使用していても、32bitゲームにはx86ランタイム、64bitゲームにはx64ランタイムが必要になる可能性があります。PCゲームを複数遊ぶWindows 11 PCでx86版とx64版のVisual C++ Redistributableの両方がインストールされていること自体は異常ではありません。Visual C++やDirectXのランタイムをどのように確認・修復するかはSteamの初回セットアップに関する別記事で詳しく解説しているので、そちらを参照してください。
注意DLLを手動でコピーしない
0xc000007bを検索すると、「○○.dllをダウンロードしてSystem32へコピーする」「DLLをゲームフォルダーへ直接入れる」といった方法が見つかることがあります。これはおすすめしません。0xc000007bは32bitと64bitの不一致でも発生するため、原因を確認せずDLLを置き換えると状況をさらに悪化させる可能性があります。また、配布元が不明なDLLにはセキュリティ上のリスクもあります。
WindowsのシステムフォルダーにはC:\Windows\System32(64bit DLL用)とC:\Windows\SysWOW64(32bit DLL用)があり、名前と中身が逆に見える紛らわしい構造です。この2つへネット上から入手したDLLを手動でコピーする方法も避けてください。間違ったアーキテクチャのDLLをWindowsシステムフォルダーへ置くと、1ゲームだけだった問題がほかのアプリにも広がる可能性があります。Visual C++ならMicrosoft公式Redistributable、DirectXならMicrosoft公式DirectX End-User Runtime、ゲーム本体ならSteamやEpic Gamesのファイル確認機能から正規ファイルを復元する方が安全です。
個別ケースMOD導入後・別PCからコピーした場合
MODを導入した直後から発生したなら、一度バニラ状態へ戻して確認します。特にDLLをゲームフォルダーへ追加するタイプのMOD、ReShade、古いプラグイン、非公式ランチャーなどでは、ゲーム本体とは異なるアーキテクチャのDLLを読み込もうとして起動に失敗する可能性があります。一度追加したファイルを外し、Steamならゲームファイルの整合性確認を実行してください。整合性確認後にゲームが起動できるなら、WindowsやVisual C++ではなくMOD側に原因がある可能性が高くなります。
別PCからゲームフォルダーをそのままコピーした場合や、特定のDLLを手動で交換したあとに発生した場合も、32bit・64bitの不一致を疑う価値があります。むやみにDLL単体を交換するより、ゲームが使用する正式なランタイムを再インストールした方が安全です。
最終確認複数アプリで発生するならDISMとSFCを実行する
Steamの1ゲームだけではなく、複数のゲームやWindowsアプリでも0xc000007bが発生する場合は、Windowsのシステムファイルが破損している可能性を確認します。管理者としてターミナルまたはコマンドプロンプトを開き、次の順番で実行してください。
| 手順 | コマンド |
|---|---|
| ① DISM実行 | DISM.exe /Online /Cleanup-image /Restorehealth |
| ② SFC実行 | sfc /scannow |
Microsoftは、先にDISMを実行して修復に必要なファイルを用意し、その後SFCで保護されたシステムファイルをスキャンして破損したファイルを修復する手順を案内しています。検証が100%になるまでウィンドウを閉じないでください。特定のゲームだけが起動しない場合は、Windows全体の修復を最初に行う必要はなく、ゲームファイル・アーキテクチャの一致・ランタイムを先に確認してください。
0xc000007bが1タイトルだけで発生している場合、最初からDISMやSFCを実行する必要はありません。1ゲームだけならゲームファイルや付属ランタイムの方が可能性を絞りやすいためです。逆に、複数のSteamゲームやゲーム以外のWindowsアプリでも発生している状態なら、Windows側を疑う根拠が強くなります。
対処の順序ゲームの再インストールはランタイム確認後でよい
0xc000007bが表示されると、ゲームをアンインストールして最初からインストールし直したくなるかもしれません。しかし、原因がVisual C++やDirectX、アーキテクチャの不一致であれば、ゲームを何度再インストールしても改善しない場合があります。まず整合性確認、次にVisual C++・DirectXの状態を確認してください。それでも1ゲームだけ起動しない場合に、ゲーム本体の再インストールを検討します。
FAQよくある質問
結論まとめ|多くは32bit・64bitの不一致
PCゲーム起動時の「0xc000007b」は、WindowsではSTATUS_INVALID_IMAGE_FORMATとして扱われるエラーです。Visual C++不足だけを示すエラーではなく、ゲームが読み込むEXEやDLLの破損、32bit・64bitの不一致などが原因になる可能性があります。Microsoft公式のテクニカルブログでも、64bitプロセスが32bit DLLを読み込もうとして発生した実例が紹介されており、アーキテクチャの不一致が典型的な原因とされています。
まずPCを再起動し、Steamなら「プロパティ→インストール済みファイル→ゲームファイルの整合性を確認」を実行してください。1タイトルだけで発生するならゲーム側を優先し、複数タイトルやWindowsアプリでも発生するならVisual C++・DirectXランタイム、最後にDISMとSFCによるWindows修復へ進みます。0xc000007bを直すために、出所不明のサイトからDLLファイルをダウンロードしてSystem32へコピーする方法は避けてください。ゲームファイル確認→アーキテクチャの一致確認→ランタイム確認→Windows修復の順に正規の方法で進めるのが、安全かつ原因を切り分けやすい対処方法です。



