「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のような名前をこの記事の早見表で照合すれば、正しいパッケージがすぐにわかります。
