「mfc140.dll が見つからない」「mfc120.dll が見つからない」「mfc100.dll が見つからない」——MFC アプリを別の PC で起動したとき、この種の DLL 不足エラーが出ることがあります。VS2026 でビルドしたアプリなら、典型例は mfc140.dll / mfc140u.dll 系です。
mfc140u.dll が見つからないため、コードの実行を続行できません。
プログラムを再インストールすると、この問題が解決する場合があります。
コードの不具合ではありません。実行環境に必要な DLL が入っていないだけです。この記事では、mfc140.dll / mfc120.dll / mfc100.dll / mfc100u.dll のような表示名から、必要な再配布可能パッケージ(Redistributable)を特定し、インストールするまでの手順を整理します。
| 表示されたDLL名 | 読む記事 |
|---|---|
mfc120.dll/mfc120u.dllだけを解決したい | VC++ 2013専用の導入手順 |
mfc140.dll、mfc100.dllなど複数世代をDLL名から判別したい | この記事:DLL名の早見表から選択 |
mfc140.dll / mfc120.dll / mfc100.dll の DLL名から再配布パッケージを特定する
| 出てきたDLL名 | 対応する再配布パッケージ | 原因 |
mfc140.dll / mfc140u.dll | Visual C++ v14 再頒布可能パッケージ | VS2015以降のv14系ツールセットでビルドしたMFCアプリ |
mfc120.dll / mfc120u.dll | Visual C++ 2013 再頒布可能パッケージ | VS2013でビルドしたMFCアプリ |
mfc100.dll / mfc100u.dll | Visual C++ 2010 再頒布可能パッケージ | VS2010でビルドしたMFCアプリ |
VCRUNTIME140.dll | Visual C++ v14 再頒布可能パッケージ | C++ランタイム本体(MFCに限らず発生) |
msvcp140.dll | Visual C++ v14 再頒布可能パッケージ | C++ 標準ライブラリ(STL) |
VCRUNTIME140_1.dll | Visual C++ v14 再頒布可能パッケージ | VS2019以降で追加されたランタイム |
mfc140u.dll は mfc140.dll 系、mfc120u.dll は mfc120.dll 系、mfc100u.dll は mfc100.dll 系として、同じ再配布可能パッケージで解決できます。
VS2026でビルドしたアプリには、Microsoft公式ページの「サポートされている最新のv14(Visual Studio 2017〜2026)」を使います。
mfc140.dllという名前だけではVS2015製か、それ以降のv14系かを判別できません。配布元が分かる場合は、使用したツールセットも確認してください。
検証環境:Visual Studio 2026
根本原因:なぜ自分のPCでは動くのか
「自分のPCでは動くのに」という状況は、あなたの開発PCにVisual Studio本体がインストールされているからです。
Visual Studioをインストールすると、開発に必要なMFCやCランタイムのDLLが一緒に配置されます。そのため、開発者本人の環境では問題なく動作します。しかし、Visual Studioが入っていないエンドユーザーのPCには、これらのDLLが存在しません。
この「開発環境にはDLLがある、実行環境にはない」というギャップを埋めるのが、再配布可能パッケージ(Redistributable Package)の役割です。
MFCアプリには「MFCを共有DLLで使う(動的リンク)」と「MFCをスタティックライブラリで使う(静的リンク)」があります。この記事で扱うDLL不足エラーは共有DLLで使う場合に発生します。MFCを静的リンクすると
mfc140u.dllへの依存は消えますが、これは/MTオプションだけで切り替わるものではありません。プロジェクトのプロパティ → 詳細 → 「MFC の使用」を「スタティック ライブラリで MFC を使用する」に変更します(/MTが静的化するのはCランタイム側で、MFCの静的/動的とは別の設定です)。静的リンクはアプリのサイズが大きくなるなどのトレードオフがあります。
Step 1: ビットネス(x86/x64)を確認する
再配布パッケージは「x86(32bit)」と「x64(64bit)」の2種類があります。インストールするのは、アプリのビット数に合わせたものです。
ビット数が分からないときは、x86版とx64版の両方をインストールしても問題ありません。64bit PCでも、32bitアプリを動かすためにx86版のランタイムが必要になることはよくあります。
アプリのビット数を確認する方法:
- VS2026でプロジェクトのプロパティを開く
- ツールバーのプラットフォーム ドロップダウン(またはプロパティページ上部の「プラットフォーム」)を確認する
x64なら64bit版、Win32なら32bit版(x86)

Step 2: 再配布可能パッケージをダウンロードする
Microsoft公式ダウンロードページから入手します。

ダウンロードリンク(2026年現在最新):
- 最新の Microsoft Visual C++ 再配布可能パッケージのダウンロード(Microsoft公式)
VC_redist.x64.exe→ 64bit版VC_redist.x86.exe→ 32bit版(x86/Win32アプリ向け)
上記ページは常に最新版へのリンクが掲載されています。古いバージョン(VS2013、VS2010等)も同じページの下部にリンクがあります。
Step 3: インストールして確認する
ダウンロードした .exe ファイルを、エラーが発生しているPC(実行環境)で実行します。

インストール完了後、アプリを再起動してエラーが解消されたか確認してください。
それでも解決しない場合
再配布パッケージをインストールしてもエラーが消えない場合は、次を確認してください。
- ビット数(x86/x64)が合っているかを確認します。64bit OS でも、32bit アプリには x86 版ランタイムが必要です。
- インストール後にアプリ(exe)を起動し直したかを確認します。再起動しないと反映されません。
- 古い世代の DLL を要求していないかを確認します。
mfc120.dllなら VS2013 用、mfc100.dllなら VS2010 用のパッケージが必要です(上の早見表を参照)。 - 早見表にない DLL 名ではないかを確認します。
mfc140.dll/mfc120.dll/mfc100.dll系ならこの記事の手順で対応できますが、アプリ固有の DLL 名なら Visual C++ 再配布ではなく、そのアプリの配布漏れを疑ってください。 - 別の DLL もエラーになっていないかを確認します。1つ解決すると次の DLL 不足エラーが出ることがあり、同じ手順で対応できます。
配布時の恒久対策:インストーラーに同梱する
「再配布パッケージを毎回手動でインストールしてもらう」は、エンドユーザーにとって大きな負担です。アプリを配布する際は、インストーラーに組み込むのがベストプラクティスです。
| 方法 | 概要 |
|---|---|
| 再配布パッケージの同梱・連鎖インストール | インストーラーで VC_redist.x64.exe/VC_redist.x86.exe を前段実行する。Microsoftが案内する標準的な方法 |
| 静的リンク(MFCをスタティックで使用) | 「MFC の使用」を「スタティック ライブラリで MFC を使用する」にしてビルドし、DLL依存をなくす。単体配布に向くがサイズは増える |
| マージモジュール (.msm) | WiX等に組み込める旧来の方式。ただしVS2019以降は非推奨(下記参照) |
マージモジュール(.msm)は、Visual Studio 2019 以降では非推奨です。Windows Update で更新されないなどの理由から、Microsoftは再配布パッケージ本体(
VC_redist)の同梱・連鎖インストールを推奨しています。新規に配布方式を選ぶなら、まずこちらを検討してください。詳しくはMicrosoft公式ドキュメント(ランタイムの展開)を参照してください。
まとめ
- 起動時に DLL エラーが出たら、まずDLL 名で対応パッケージを特定する(上の早見表)
- VS2026 ビルドのアプリには「サポートされている最新のVisual C++ v14再頒布可能パッケージ」が必要
- x86/x64 どちらかを確認し(迷ったら両方)、公式ページから入手する
- 配布アプリにはインストーラーへの同梱を検討する
「DLL が見つからない」は、エラーメッセージに答えが書いてあります。mfc140.dll / mfc120.dll / mfc100.dll / mfc100u.dll のような名前をこの記事の早見表で照合すれば、正しいパッケージがすぐにわかります。
