Visual C++ランタイムファイルが見つからない場合のエラー
Visual C++ランタイムファイルは、Microsoft Visual C++で開発されたアプリケーションを実行するために必要なライブラリです。これらのファイルが見つからない場合、アプリケーションは起動できず、エラーメッセージが表示されます。ランタイムファイルには様々な種類があり、基本的には最新のVisual C++再頒布可能パッケージをインストールすることで解決できます。以下に、よく見られるエラーメッセージとその対処方法をまとめます。
バージョン番号
msvcr120.dllやmsvcp140.dllのように、ファイル名の末尾に含まれている数字はVisual C++のバージョンと対応しています。ファイルが見つからないエラーが表示される場合、ファイル名に含まれる数字と対応するバージョンのVisual C++再頒布可能パッケージをインストールする必要があります。下記の表に組み合わせを記載します。
ファイル名のバージョン | Visual C++バージョン | DLL名の例 |
---|---|---|
42 or 無し | Visual C++ 6.0 or それ以前 | msvcrt.dll, mfc42.dll |
70 | Visual C++ 2002 | msvcr70.dll, mfc70.dll |
71 | Visual C++ 2003 | msvcr71.dll, mfc71.dll |
80 | Visual C++ 2005 | msvcr80.dll, mfc80.dll |
90 | Visual C++ 2008 | msvcr90.dll, mfc90.dll |
100 | Visual C++ 2010 | msvcr100.dll, mfc100.dll |
110 | Visual C++ 2012 | msvcr110.dll, mfc110.dll |
120 | Visual C++ 2013 | msvcr120.dll, mfc120.dll |
140 | Visual C++ 2015以降 | vcruntime140.dll, mfc140.dll |
msvcr***.dll
Visual C++ 2013以前のバージョンで作成されたアプリケーションを実行したときに表示される可能性があります。msvcr***.dllはVisual C++ランタイムの一部であり、対応するVisual C++再頒布可能パッケージをインストールすることで解決できます。
MSVCR120.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
msvcr***d.dll
Visual C++ 2013以前のバージョンでデバッグビルドされたアプリケーションを実行したときに表示される可能性があります。Visual C++再頒布可能パッケージのデバッグバージョンをインストールすることで解決できます。ただし、デバッグバージョンの再頒布可能パッケージは再頒布できませんので、サードパーティ製品で"D"が付くDLLが必要な場合はアプリケーションベンダーがビルド方法を誤っている可能性があります。
MSVCR120D.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
api-ms-win-crt-***.dll
Visual C++ 2015以降のバージョンで作成されたアプリケーションを実行したときに表示される可能性があります。api-ms-win-crt-***.dllはUniversal C Runtime (UCRT)の一部であり、Visual C++再頒布可能パッケージをインストールすることで解決できます。UCRTはWindows 10以降のバージョンではOSに組み込まれていますが、Windows 7や8.1などの古いバージョンでは再頒布可能パッケージをインストールする必要があります。
コンピューターに api-ms-win-crt-stdio-|1-1-0.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。
ucrtbased.dll
Visual C++ 2015以降のバージョンでデバッグビルドされたアプリケーションを実行したときに表示される可能性があります。Visual C++再頒布可能パッケージのデバッグバージョンをインストールすることで解決できます。ただし、デバッグバージョンの再頒布可能パッケージは再頒布できませんので、サードパーティ製品で"D"が付くDLLが必要な場合はアプリケーションベンダーがビルド方法を誤っている可能性があります。
ucrtbased.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
vcruntime140.dll
Visual C++ 2015以降のバージョンで作成されたコンソールアプリケーションやWindowsアプリケーションを実行したときに表示される可能性があります。Visual C++再頒布可能パッケージをインストールすることで解決できます。
vcruntime140.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
vcruntime140d.dll
Visual C++ 2015以降のバージョンでデバッグビルドされたアプリケーションを実行したときに表示される可能性があります。Visual C++再頒布可能パッケージのデバッグバージョンをインストールすることで解決できます。ただし、デバッグバージョンの再頒布可能パッケージは再頒布できませんので、サードパーティ製品で"D"が付くDLLが必要な場合はアプリケーションベンダーがビルド方法を誤っている可能性があります。
vcruntime140D.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
vcruntime140_1.dll
Visual C++ 2019以降のバージョンで作成されたアプリケーションを実行したときに表示される可能性があります。vcruntime140_1.dllはVisual C++ランタイムの一部であり、Visual C++再頒布可能パッケージをインストールすることで解決できます。なお、vcruntime140_1.dllはVisual C++ 2019以降のバージョンで追加されたファイルとなっており、Visual C++ 2015やVisual C++ 2017の再頒布可能パッケージをインストールしても解消しませんので注意してください。
VCRUNTIME140_1.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。
mfc***u.dll
MFCアプリケーションを実行したときに表示される可能性があります。対応するバージョンのVisual C++再頒布可能パッケージをインストールすることで解決できます。
mfc140u.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。