【MFC】mfc140.dll / mfc120.dll / mfc100.dll が見つからない:DLL名から正しい再配布パッケージを特定する手順

【MFC】mfc140.dll / mfc120.dll / mfc100.dll が見つからない:DLL名から正しい再配布パッケージを特定する手順

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.dllmfc120u.dllだけを解決したいVC++ 2013専用の導入手順
mfc140.dllmfc100.dllなど複数世代をDLL名から判別したいこの記事:DLL名の早見表から選択
目次

mfc140.dll / mfc120.dll / mfc100.dll の DLL名から再配布パッケージを特定する

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

mfc140u.dllmfc140.dll 系、mfc120u.dllmfc120.dll 系、mfc100u.dllmfc100.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版のランタイムが必要になることはよくあります。

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

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

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

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

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

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

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

Step 3: インストールして確認する

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

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

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

それでも解決しない場合

再配布パッケージをインストールしてもエラーが消えない場合は、次を確認してください。

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

目次