
DLLが「Windowsで実行するように設計されていない」エラーの直し方2026版:Bad Imageを安全に解決する手順
アプリ起動時に「〇〇.dll は Windows で実行するように設計されていないか、エラーを含んでいます(Bad Image)」と出て止まる症状は、DLL自体の破損・整合性不一致・依存ランタイム不足が重なって起きる定番トラブルです。ここでは“危ないDLL置き換え”に頼らず、Windows標準機能と正規ランタイム再導入で直す、再現性の高い手順をまとめます。
- DLLが「Windowsで実行するように設計されていない」エラーの直し方2026版:Bad Imageを安全に解決する手順
このエラーの正体(Bad Image / 0xc000012f・0xc000007bが多い)
表示文言は同じでも、背景はだいたい次のどれかです。
-
システムファイルやDLLが破損(更新失敗・ストレージ不良・予期せぬ電源断など)
-
32bit/64bitの不一致(アプリとDLLの形式が合わず“Bad Image”扱い)
-
Visual C++ など依存ランタイム不足/破損(ゲームや業務ソフトで特に多い)
-
セキュリティソフトがインストールを書き換え(隔離・部分破損)
特に「0xc000012f」は“イメージが壊れている/不正”方向で出やすく、まずはWindowsの整合性修復から入るのが安全です。 Microsoft Learn
まず最優先:Windowsの整合性を修復(SFC→DISM)
管理者権限で修復を通すだけで直るケースが多いです。
-
Windows Terminal / コマンドプロンプトを管理者で起動
-
次を順に実行(コピペでOK)
DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow
-
DISMでコンポーネントストアを修復→SFCで実ファイルを修復、の順が安定です。 Microsoft Learn
-
終了後、再起動して同じ操作を試してください。
うまくいかない場合でも、ここで「破損がある/ない」が切り分けできます。
次に効く:アプリ側を“正規手順で”入れ直す
DLLエラーは、アプリのインストールが中途半端になっただけでも起きます。
-
設定 → アプリ → インストールされているアプリから対象アプリを選び、修復(あれば)→だめならアンインストール
-
その後、公式のインストーラーで再インストール
-
ゲーム/制作ツール系は「起動ランチャーの整合性チェック(Verify)」も実施
重要なのは、ネットで拾ったDLLをSystem32に放り込むような“力技”を避けることです。別の不整合を増やし、症状が悪化しがちです。
定番の原因:Visual C++ 再頒布可能パッケージを入れ直す(2015–2026系)
「msvcp***.dll」「vcruntime***.dll」などが絡むなら、Visual C++ 再頒布可能パッケージの再導入が最短です。
Visual Studio 2017以降(2017/2019/2022/2026)は同系統のv14ランタイムを共有し、**新しい再頒布可能パッケージが既存を上書き更新(in-place upgrade)**する設計です。 Microsoft Learn+1
やることはシンプル:
-
x64環境でも、x86が必要なアプリがあるため、基本は x64版+x86版の両方を入れる
-
入れ直したら再起動→再確認
補足として、古い2013以前を要求するアプリもあるので、アプリの要件に合わせて追加します(むやみに全部入れる必要はありません)。 Microsoft Learn
0xc000007bが出るなら:32bit/64bit不一致も疑う
0xc000007bは「形式が合っていない(Invalid Image Format)」系で出やすく、64bitアプリに32bit DLLが混ざる、またはその逆が典型です。 OpenCV
対策の王道は次の2つだけです。
-
アプリを正しいビット数で入れ直す(x86/x64を間違えない)
-
DirectX/.NETなど依存コンポーネントを正規導入(ゲームで多い)
“DLLだけ差し替え”はここでも逆効果になりやすいので、アプリの再インストール+正規ランタイムで整えます。
それでも直らないときの実務的チェック(安全な順)
1) Windows Updateをすべて適用→再起動
更新途中の不整合が残っていると、同じDLL破損が再発します。まず最新状態に寄せます。
2) イベントビューアで犯人DLL名を特定
-
イベントビューア → Windowsログ → アプリケーション
-
エラー発生時刻付近のログで、どのDLL名がBad Image扱いかを確認
同じDLLが繰り返し出るなら、そこに依存しているランタイムかアプリが原因です。
3) セキュリティソフトの隔離履歴を確認
インストール時にDLLが隔離/無害化されると、再現性高くBad Imageになります(特に開発ツールや古いゲーム)。
4) “修復インストール(上書き)”という最終手段
SFC/DISMで改善せず、OS全体の破損が疑わしい場合は、データを残してWindowsを上書きする修復インストールが有効なことがあります。 Microsoft Learn
よくあるNG行動(直すつもりで悪化する)
-
怪しいサイトからDLL単体をダウンロードして置換
-
System32/SysWOW64に適当にコピー
-
“最適化ツール”でレジストリやDLLを自動修復(別トラブルの温床)
安全策は「整合性修復(DISM/SFC)→正規ランタイム→アプリ再導入」です。
まとめ:迷ったらこの順でやれば失敗しにくい
-
DISM → SFCでWindows整合性修復
-
アプリを修復/再インストール(公式手順)
-
Visual C++ 再頒布可能パッケージ(x64+x86)を入れ直す
-
0xc000007bならビット数不一致を最優先で潰す
-
まだだめならイベントビューアでDLL名を特定→依存元を修正
この流れで、多くの「DLL is either not designed to run on Windows」系は安全に解決できます。