【MFC】mfc120.dll が見つからない:VC++ 2013 再頒布パッケージの特定と導入(x86/x64)

【MFC】mfc120.dll が見つからない:VC++ 2013 再頒布パッケージの特定と導入(x86/x64)

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.dllVisual 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)アプリ向け
Microsoft公式の再頒布可能パッケージ一覧でVisual Studio 2013(VC++ 12.0)へのリンクを確認する画面

ダウンロードした .exeを、エラーが出ているPC(実行環境)で実行してインストールします。完了したらアプリを起動し直し、エラーが消えたか確認します。


それでもmfc120.dllが消えないとき

  • ビット数が合っているかを確認します。32bitアプリにx64版だけを入れても解決しません。迷ったらx86 / x64の両方を入れます。
  • 最新版(2015-2022)だけで済ませていないかも見ます。mfc120.dllには2013のパッケージが必須で、最新ランタイムは別物です。
  • 要求しているのが本体アプリかプラグインかも切り分けます。自作アプリ本体は新しい環境でビルドされていても、読み込むサードパーティ製のDLLやプラグインがVS2013製だとmfc120.dllを要求します。その場合も対処は同じ2013ランタイムの導入です。
  • インストール後にアプリを再起動したかも確認します。起動し直さないと反映されません。

関連記事


まとめ

  • mfc120.dll / mfc120u.dllはVisual C++ 2013のランタイム。VS2013でビルドされた証拠。
  • 最新(2015-2022)の再頒布パッケージでは直らない。2013専用パッケージが要る。
  • アプリのビット数に合わせてvcredist_x86.exe / vcredist_x64.exeを入れる。迷ったら両方。
目次