【MFC】mfc140.dll / mfc120.dll が見つからない:起動時DLLエラーの直し方(再配布パッケージ)

【MFC】起動時エラー mfc.dll / VCRUNTIME.dll / msvcp***.dll がない

VS2026でビルドしたアプリを別のPCで起動すると、DLL が見つからないというエラーが出ることがあります。

mfc140u.dll が見つからないため、コードの実行を続行できません。
プログラムを再インストールすると、この問題が解決する場合があります。

これはコードの不具合ではなく、実行環境に必要な DLL が入っていない状態です。

この記事では、表示された DLL 名から必要な再配布可能パッケージ(Redistributable)を特定する手順と、配布時に再発を防ぐための確認ポイントを整理します。

エラー切り分け表(まずここを確認)

出てきたDLL名対応する再配布パッケージ原因
mfc140.dll / mfc140u.dllVisual C++ 2015-2022 再配布可能パッケージVS2015〜VS2022/2026でビルドしたMFCアプリ
mfc120.dll / mfc120u.dllVisual C++ 2013 再配布可能パッケージVS2013でビルドしたMFCアプリ
mfc100.dll / mfc100u.dllVisual C++ 2010 再配布可能パッケージVS2010でビルドしたMFCアプリ
VCRUNTIME140.dllVisual C++ 2015-2022 再配布可能パッケージC++ランタイム本体(MFCに限らず発生)
msvcp140.dllVisual C++ 2015-2022 再配布可能パッケージC++ 標準ライブラリ(STL)
VCRUNTIME140_1.dllVisual C++ 2015-2022 再配布可能パッケージVS2019以降で追加されたランタイム

VS2026でビルドしたアプリに必要なのは「Visual C++ 2015-2022 再配布可能パッケージ」です。
Microsoftは2015〜2022のランタイムをバイナリ互換にしているため、パッケージは一本に統合されています。VS2026もこの系列に含まれます。


検証環境:Visual Studio 2026

根本原因:なぜ自分のPCでは動くのか

「自分のPCでは動くのに」という状況は、あなたの開発PCにVisual Studio本体がインストールされているからです。

Visual Studioをインストールすると、開発に必要なMFCやCランタイムのDLLが一緒に配置されます。そのため、開発者本人の環境では問題なく動作します。しかし、Visual Studioが入っていないエンドユーザーのPCには、これらのDLLが存在しません。

この「開発環境にはDLLがある、実行環境にはない」というギャップを埋めるのが、再配布可能パッケージ(Redistributable Package)の役割です。

MFCアプリには大きく分けて「動的リンク(DLLとして配布)」と「静的リンク(アプリに組み込む)」があります。この記事で扱うDLL不足エラーは動的リンクの場合に発生します。静的リンク(/MTオプション)でビルドしたアプリはこのDLLエラーは起きませんが、アプリのサイズが大きくなるなどのトレードオフがあります。

Step 1: ビットネス(x86/x64)を確認する

再配布パッケージは「x86(32bit)」と「x64(64bit)」の2種類があります。インストールするのは、アプリのビット数に合わせたものです。

どちらをインストールすべきかわからない場合は、両方インストールしてください。
64bit PCでも、32bitアプリを動かすためにx86版のランタイムが必要なケースは非常によくあります。

アプリのビット数を確認する方法:

  1. VS2026でプロジェクトのプロパティを開く
  2. ソリューションエクスプローラー上部のドロップダウン(プラットフォーム)を確認する
  3. x64 なら64bit版、Win32 なら32bit版(x86)
VS2026のソリューション構成ドロップダウンでx64とWin32のプラットフォームを確認している様子

Step 2: 再配布可能パッケージをダウンロードする

Microsoft公式ダウンロードページから入手します。

Microsoft公式のVisual C++再配布可能パッケージダウンロードページ(最新バージョン対応)

ダウンロードリンク(2026年現在最新):

上記ページは常に最新版へのリンクが掲載されています。古いバージョン(VS2013、VS2010等)も同じページの下部にリンクがあります。

Step 3: 実行環境(エンドユーザーのPC)にインストールする

ダウンロードした .exe ファイルを、エラーが発生しているPC(実行環境)で実行します。

VC_redist.x64.exeのインストール画面(同意してインストールボタンが表示されている)

インストール完了後、アプリを再起動してエラーが解消されたか確認してください。

Step 4: アプリを再起動して確認する

インストール後にアプリを起動し直します。DLLが見つかるようになればエラーは解消され、アプリが正常に起動します。


配布時の恒久対策:インストーラーに同梱する

「再配布パッケージを毎回手動でインストールしてもらう」は、エンドユーザーにとって大きな負担です。アプリを配布する際は、インストーラーに組み込むのがベストプラクティスです。

方法概要
マージモジュール (.msm)Visual Studio Installerから入手。WiX、NSIS等のインストーラーに組み込める
ブートストラッパーVisual Studio等のインストーラーで自動で再配布パッケージを前段インストールする仕組み
XCOPYデプロイ(静的リンク)/MT オプションでビルドし、DLLへの依存をなくす。単体配布に向く

マージモジュール(.msm)を使ったデプロイは、Microsoft公式の推奨方式から変化しています。アプリ配布の規模や形態に応じて、最新のMicrosoft公式ドキュメント(ランタイム展開)を参照してください。


まとめ(再発防止チェックリスト)

最後に、次回の自分のためにこれだけは確認しておきましょう。

  • [ ] 起動時DLLエラーが出たら、まず表でDLL名と対応パッケージを照合する
  • [ ] VS2026ビルドのアプリには「Visual C++ 2015-2022 再配布可能パッケージ」が必要と覚える
  • [ ] x86/x64どちらのランタイムかを確認し(迷ったら両方)、公式ページから正規品を入手する
  • [ ] 配布アプリにはインストーラーへの再配布パッケージ同梱を検討する
  • [ ] チーム内の「新しいPCでだけ動かない」報告は、まず再配布パッケージの欠如を疑う

DLLエラーは、表示された DLL 名を起点に切り分けできます。まずは、このチェックリストで対応する再配布可能パッケージを確認してください。

目次