「パソコンに『Microsoft Visual C++ 再頒布可能パッケージ』がたくさんインストールされているけど、これって何?」
そんな疑問を持ったことはありませんか?
Visual C++は、Windowsアプリケーション開発に欠かせないツールです。この記事では、Visual C++のバージョンの歴史から、各バージョンの特徴、そしてよく目にする「再頒布可能パッケージ」について、分かりやすく解説していきます。
Visual C++とは?

Visual C++(ビジュアル・シープラスプラス)とは、マイクロソフトが提供するC++プログラミング言語の開発環境です。
正式には「Microsoft Visual C++」または「MSVC」と呼ばれ、以下のようなツールが含まれています。
- コンパイラ:プログラムのソースコードを実行可能なファイルに変換するツール
- 統合開発環境(IDE):プログラムを書いて、デバッグして、ビルドするための総合的な環境
- ランタイムライブラリ:プログラムを実行するために必要な基本的な機能を集めたもの
Visual C++は、Windows向けのアプリケーション開発において事実上の標準となっており、多くの商用ソフトウェアがこの開発環境で作られています。
Visual C++ 再頒布可能パッケージとは?
Visual C++でビルド(作成)されたアプリケーションを実行するには、「Visual C++ 再頒布可能パッケージ」(Visual C++ Redistributable)が必要です。
これは、アプリケーションが動作するために必要なランタイムライブラリを集めたものなんですね。
例えば、ゲームをインストールしたときに「Visual C++ 2015-2022 再頒布可能パッケージ」が一緒にインストールされることがあります。これは、そのゲームがVisual C++で作られていて、動作に必要だからです。
Visual C++のバージョン番号の仕組み
Visual C++には、複数のバージョン番号が存在していて、ちょっと複雑です。
5つのバージョン番号
- Visual Studioのリリース年
例:Visual Studio 2022 - Visual Studioの実際のバージョン番号
例:Visual Studio 17.0 - Visual C++(MSVC)バージョン
例:MSVC 14.30 - ツールセットバージョン
例:v143 - コンパイラバージョン
例:cl.exe 19.30
これらは全て同じ製品について異なる側面を表しているんです。
なぜこんなに複雑なの?
それぞれのバージョン番号には意味があります。
- Visual Studioの年号:マーケティング用の分かりやすい名前
- MSVCバージョン:バイナリ互換性を示す重要な番号
- コンパイラバージョン:実際のコンパイラの技術的なバージョン
特に重要なのは「MSVCバージョン」で、このメジャー番号が同じであれば、バイナリ互換性がある(一緒に使える)ことを意味します。
Visual C++バージョンの歴史
それでは、Visual C++の長い歴史を見ていきましょう。
初期のバージョン(1993年〜)
Visual C++ 1.0(1993年2月)
最初の「Visual」C++です。それまでのコマンドライン中心の開発から、Windowsベースの統合開発環境へと大きく進化しました。
- 16ビット開発用
- MFC 2.0を含む
- Windows 3.1 SDK付属
Visual C++ 1.5(1993年12月)
最も人気のあったWindows 3.x向け開発環境となりました。
- MFC 2.5に更新
- OLE 2.0とODBCサポート追加
- CD-ROMでの提供が始まる
Visual C++ 2.0(1994年)
32ビット開発に対応した最初のバージョンです。
- MFC 3.0を含む
- Windows NT向け
- 32ビット専用
Visual C++ 4.0(1995年)
Windows 95の登場に合わせてリリースされました。
- MFC 4.0を含む
- Windows 95とWindows NT対応
- DirectX SDKが含まれる
Visual C++ 5.0(1997年)
コンパクトなバイナリを生成できるようになりました。
Visual C++ 6.0(1998年)
非常に人気が高く、長く使われたバージョンです。今でも一部で使われています。
- Visual Studio 6.0に含まれる
- Internet Explorer 4依存
- HTML Helpシステム採用
.NET時代(2002年〜)
Visual C++ .NET 2002(2002年)
.NETフレームワークのサポートが追加されました。
- Visual Studio .NET 2002に統合
- C++/CLIサポート
- UIが大幅に変更
Visual C++ .NET 2003(2003年)
- Windows 2000以降が必要
- 標準C++規格への準拠度が大きく改善
- コンパイラバージョン:13.10(内部バージョン7.1)
年号ベースの命名(2005年〜)
Visual C++ 2005(2005年)
製品名が年号ベースになりました。
- Visual Studio 2005に統合
- 無料のExpress Editionが登場
- コンパイラバージョン:14.0(内部バージョン8.0)
- セキュリティ機能の強化
Visual C++ 2008(2008年)
- Visual Studio 2008に含まれる
- コンパイラバージョン:15.0(内部バージョン9.0)
- TR1(Technical Report 1)サポート
Visual C++ 2010(2010年)
ビルドシステムがMSBuildに移行しました。
- Visual Studio 2010に含まれる
- コンパイラバージョン:16.0(内部バージョン10.0)
- C++0x(後のC++11)の一部機能をサポート
- ラムダ式、auto、nullptrなどの追加
Visual C++ 2012(2012年)
- Visual Studio 2012に含まれる
- コンパイラバージョン:17.0(内部バージョン11.0)
- C++11のサポート強化
- Windows 8対応
Visual C++ 2013(2013年)
- Visual Studio 2013に含まれる
- コンパイラバージョン:18.0(内部バージョン12.0)
- C++11のサポートがさらに改善
モダンC++時代(2015年〜)
Visual C++ 2015(2015年7月)
重要なマイルストーンとなったバージョンです。
- Visual Studio 2015に含まれる
- MSVCバージョン:14.0
- C++11、C++14のサポートが大幅に向上
- Universal CRT(UCRT)の導入
- Community Editionが登場(無料版の強化)
重要:Visual Studio 2015以降の互換性
Visual Studio 2015、2017、2019、2022で作られたプログラムは、バイナリ互換性があります。つまり、MSVCバージョンが全て14.xなので、同じランタイムライブラリが使えるんです。
Visual C++ 2017(2017年3月)
- Visual Studio 2017に含まれる
- Visual Studioバージョン:15.0
- MSVCバージョン:14.1x
- コンパイラバージョン:19.1x
- C++17のサポート
- より高速なコンパイル
Visual C++ 2019(2019年4月)
- Visual Studio 2019に含まれる
- Visual Studioバージョン:16.0
- MSVCバージョン:14.2x
- コンパイラバージョン:19.2x
- C++20の一部機能をサポート
- IntelliCodeによるAI支援
Visual C++ 2022(2021年11月)
最新の主要バージョンです。
- Visual Studio 2022に含まれる
- Visual Studioバージョン:17.0
- MSVCバージョン:14.3x〜14.4x
- コンパイラバージョン:19.3x〜19.4x
- 64ビットIDEに対応(これまでは32ビット)
- C++20のサポート強化
- C++23の一部機能
主要バージョンの一覧表

| 製品名 | リリース年 | Visual Studioバージョン | MSVCバージョン | コンパイラバージョン(_MSC_VER) | 主な特徴 |
|---|---|---|---|---|---|
| Visual C++ 1.0 | 1993年 | N/A | N/A | 8.00 | 最初のVisual C++ |
| Visual C++ 6.0 | 1998年 | 6.0 | 6.0 | 12.00 | 長く使われた人気版 |
| Visual C++ .NET 2003 | 2003年 | 7.1 | 7.1 | 13.10 | 標準C++準拠度向上 |
| Visual C++ 2005 | 2005年 | 8.0 | 8.0 | 14.00 | Express Edition登場 |
| Visual C++ 2008 | 2008年 | 9.0 | 9.0 | 15.00 | TR1サポート |
| Visual C++ 2010 | 2010年 | 10.0 | 10.0 | 16.00 | C++11の一部サポート |
| Visual C++ 2012 | 2012年 | 11.0 | 11.0 | 17.00 | C++11強化 |
| Visual C++ 2013 | 2013年 | 12.0 | 12.0 | 18.00 | C++11改善 |
| Visual C++ 2015 | 2015年 | 14.0 | 14.0 | 19.00 | C++14サポート |
| Visual C++ 2017 | 2017年 | 15.0 | 14.1x | 19.1x | C++17サポート |
| Visual C++ 2019 | 2019年 | 16.0 | 14.2x | 19.2x | C++20一部サポート |
| Visual C++ 2022 | 2021年 | 17.0 | 14.3x〜14.4x | 19.3x〜19.4x | 64ビットIDE、C++20強化 |
再頒布可能パッケージのバージョン対応
一般ユーザーが目にする「Visual C++ 再頒布可能パッケージ」について、詳しく見ていきましょう。
パッケージのバージョンと対応関係
Visual C++ 2005 再頒布可能パッケージ
- MSVCバージョン:8.0
- ファイル名:msvcp80.dll、msvcr80.dll など
Visual C++ 2008 再頒布可能パッケージ
- MSVCバージョン:9.0
- ファイル名:msvcp90.dll、msvcr90.dll など
Visual C++ 2010 再頒布可能パッケージ
- MSVCバージョン:10.0
- ファイル名:msvcp100.dll、msvcr100.dll など
Visual C++ 2012 再頒布可能パッケージ
- MSVCバージョン:11.0
- ファイル名:msvcp110.dll、msvcr110.dll など
Visual C++ 2013 再頒布可能パッケージ
- MSVCバージョン:12.0
- ファイル名:msvcp120.dll、msvcr120.dll など
Visual C++ 2015-2022 再頒布可能パッケージ
- MSVCバージョン:14.0〜14.4x
- ファイル名:msvcp140.dll、vcruntime140.dll など
- 重要:2015、2017、2019、2022は同じランタイムを共有
なぜ複数のバージョンがインストールされているの?
パソコンを見ると、Visual C++ 2005から2022までたくさんのバージョンがインストールされていることがありますよね。
これは、各アプリケーションが作られたときのVisual C++のバージョンに対応する再頒布可能パッケージが必要だからです。
例えば:
- 古いゲームA:Visual C++ 2008で作られた → 2008パッケージが必要
- 新しいゲームB:Visual C++ 2019で作られた → 2015-2022パッケージが必要
- ビジネスソフトC:Visual C++ 2013で作られた → 2013パッケージが必要
新しいバージョンがあるから古いバージョンは不要、ということではないんです。互換性がないので、それぞれ必要なバージョンをインストールしておく必要があります。
x86とx64の違い
再頒布可能パッケージには「x86」と「x64」の2種類があります。
- x86:32ビットアプリケーション用
- x64:64ビットアプリケーション用
64ビットのWindowsを使っていても、32ビットアプリケーションを実行する場合は、x86版のパッケージが必要です。そのため、多くのパソコンでは両方がインストールされています。
サポート期間について
Visual C++のサポート期間は、Visual Studioのライフサイクルと連動しています。
現在のサポート状況
サポート終了済み
- Visual C++ 2015:2025年10月14日にサポート終了
- Visual C++ 2013以前:すでにサポート終了
サポート継続中
- Visual C++ 2017:Visual Studio 2017のライフサイクルに準じる
- Visual C++ 2019:Visual Studio 2019のライフサイクルに準じる
- Visual C++ 2022:Visual Studio 2022のライフサイクルに準じる
2015-2022の特別なケース
Visual C++ 2015、2017、2019、2022の再頒布可能パッケージは、バイナリ互換性があるため、最新版をインストールすれば古いバージョンもカバーできます。
つまり、Visual C++ 2022の再頒布可能パッケージをインストールすれば、2015、2017、2019で作られたアプリケーションも動作するということです。
よくある質問

再頒布可能パッケージを削除しても大丈夫?
基本的には削除しないでください。
削除すると、そのバージョンで作られたアプリケーションが動かなくなる可能性があります。エラーメッセージが出たり、起動すらできなくなったりすることがあるんです。
複数のバージョンがあって容量を取るんだけど?
各パッケージのサイズは比較的小さい(数MB〜数十MB程度)ので、ディスク容量への影響は限定的です。
削除することで得られる容量よりも、アプリケーションが動かなくなるリスクの方が大きいでしょう。
最新版だけ残して古いのを削除できない?
2015〜2022のバージョンについては、最新の2022パッケージがあれば古いものは不要です。
しかし、2013以前のバージョンは互換性がないため、削除すると対応するアプリケーションが動かなくなります。
どのアプリがどのバージョンを使っているか確認できる?
残念ながら、簡単に確認する方法はありません。
不要かどうか分からない場合は、削除せずにそのまま残しておくのが安全です。
エラーメッセージが出たらどうすればいい?
「MSVCP140.dllが見つかりません」や「VCRUNTIME140_1.dllが見つかりません」といったエラーが出た場合は、対応するVisual C++再頒布可能パッケージをインストールすることで解決できます。
- MSVCP140.dll、VCRUNTIME140.dll:Visual C++ 2015-2022パッケージ
- MSVCP120.dll:Visual C++ 2013パッケージ
- MSVCP110.dll:Visual C++ 2012パッケージ
開発者向け:バージョンの確認方法
開発者の方向けに、使用しているVisual C++のバージョンを確認する方法をご紹介します。
Visual Studioで確認
- Visual Studioを起動
- メニューから「ヘルプ」→「Microsoft Visual Studioのバージョン情報」を選択
- バージョン情報が表示される
コンパイラマクロで確認
C++のソースコード内で、以下のマクロを使って確認できます。
// MSVCバージョン(例:1930)
_MSC_VER
// フルバージョン(例:193033519)
_MSC_FULL_VER
// ビルドバージョン
_MSC_BUILD
コマンドラインで確認
開発者コマンドプロンプトを開いて、以下を実行します。
cl.exe
バージョン情報が表示されます。
まとめ
Visual C++のバージョンについて、重要なポイントをおさらいしましょう。
- Visual C++は1993年から30年以上の歴史を持つ開発環境
- Visual Studio 2015以降(MSVC 14.x)はバイナリ互換性がある
- 再頒布可能パッケージは各バージョンごとに必要
- x86版とx64版の両方が必要な場合がある
- 基本的には削除しない方が安全
- Visual C++ 2015のサポートは2025年10月に終了済み
- 最新版はVisual C++ 2022(Visual Studio 2022)
Visual C++は、多くのWindowsアプリケーションの基盤となっている重要なツールです。一般ユーザーとして再頒布可能パッケージを目にすることが多いと思いますが、それぞれに役割があることを理解していただければ幸いです。
削除したい衝動に駆られるかもしれませんが、容量もそれほど大きくないので、そのまま残しておくことをおすすめします。


コメント