MFCアプリを起動したときにmfc120.dllが見つからない(またはmfc120u.dll)と出た場合、必要なのはVisual C++ 2013の再頒布可能パッケージです。mfc120という名前はVisual Studio 2013でビルドされたことを示します。
mfc120u.dll が見つからないため、コードの実行を続行できません。
プログラムを再インストールすると、この問題が解決する場合があります。
この記事はmfc120.dll / mfc120u.dll専用の対処に絞ります。
| 表示されたDLL名 | 読む記事 |
|---|---|
| mfc120.dll/mfc120u.dllだけを解決したい | この記事:VC++ 2013専用の導入手順 |
| mfc140.dll、mfc100.dllなど複数世代をDLL名から判別したい | DLL名から再配布パッケージを特定する早見表 |
まず確認:mfc120.dllはVC++ 2013のランタイム
| 出てきたDLL名 | 必要なパッケージ | 意味 |
|---|---|---|
| mfc120.dll / mfc120u.dll | Visual C++ 2013再頒布可能パッケージ | Visual Studio 2013(ツールセットv120)でビルドされた |
mfc120u.dllはUnicode版で、mfc120.dllと同じVisual C++ 2013のパッケージで解決します。
注意したいのはここです。Visual Studio 2026など新しい環境に付いてくる「Visual C++ 2015-2022再頒布可能パッケージ」を入れても、mfc120.dllは解決しません。2013のランタイムは2015-2022とは別系列で、別パッケージとして配布されているからです。
検証環境:Visual Studio 2026(対象ランタイムはVisual C++ 2013)
手順1:必要なのがx86かx64かを確認する
VC++ 2013の再頒布パッケージはx86(32bit) とx64(64bit) に分かれています。入れるべきなのはOSのビット数ではなく、アプリ(またはmfc120.dllを要求している実行ファイル)のビット数に合わせたものです。
- ソースがある場合は、Visual Studioの構成プラットフォームを確認します。Win32ならx86、x64ならx64です。
- 実行ファイルしかない場合は、配布元の動作環境やダウンロード名でx86/x64を確認します。DLL不足で起動できない状態では、タスクマネージャーで実行中プロセスを確認できません。
64bitのWindowsでも、32bitアプリにはx86版のランタイムが必要です。判断に迷う場合は、x86とx64の両方を入れてしまって構いません。
手順2:VC++ 2013再頒布可能パッケージを入れる
Microsoft公式の「Visual C++ Redistributable Packages for Visual Studio 2013」を入手します。最新ランタイムのページからも、過去バージョンとして2013の配布ページへたどれます。
→ サポートされている最新のVisual C++ 再頒布可能パッケージ(Microsoft公式・過去バージョンへのリンクあり)
ダウンロードするファイルは、手順1で確認したビット数に合わせます。2013のファイル名はVC_redistではなくvcredistです(2015-2022とは名前が違います)。
- vcredist_x64.exe → 64bitアプリ向け
- vcredist_x86.exe → 32bit(Win32)アプリ向け

ダウンロードした .exeを、エラーが出ているPC(実行環境)で実行してインストールします。完了したらアプリを起動し直し、エラーが消えたか確認します。
それでもmfc120.dllが消えないとき
- ビット数が合っているかを確認します。32bitアプリにx64版だけを入れても解決しません。迷ったらx86 / x64の両方を入れます。
- 最新版(2015-2022)だけで済ませていないかも見ます。mfc120.dllには2013のパッケージが必須で、最新ランタイムは別物です。
- 要求しているのが本体アプリかプラグインかも切り分けます。自作アプリ本体は新しい環境でビルドされていても、読み込むサードパーティ製のDLLやプラグインがVS2013製だとmfc120.dllを要求します。その場合も対処は同じ2013ランタイムの導入です。
- インストール後にアプリを再起動したかも確認します。起動し直さないと反映されません。
関連記事
- mfc140.dll / mfc100.dllなど他のDLL名も含めた早見表 → 【MFC】mfc140.dll / mfc120.dll / mfc100.dllが見つからない:DLL名から正しい再配布パッケージを特定する手順
- 起動時に0xc000007bが出る(32bit/64bitの取り違え)→ 【MFC】0xc000007bエラーの直し方:32bit/64bitのビット数不一致で起動しない原因と修正手順
まとめ
- mfc120.dll / mfc120u.dllはVisual C++ 2013のランタイム。VS2013でビルドされた証拠。
- 最新(2015-2022)の再頒布パッケージでは直らない。2013専用パッケージが要る。
- アプリのビット数に合わせてvcredist_x86.exe / vcredist_x64.exeを入れる。迷ったら両方。
