Visual C++ Redistributable に関するよくあるお問い合わせ

Last Update:
このエントリーをはてなブックマークに追加

こんにちは、Japan Developer Support Core チームの松井です。今回は、私達のサポート チームでよくお寄せいただく Visual C++ Redistributable (再頒布可能パッケージ) に関するご質問を Q&A 形式で整理します。なお、本記事は執筆時点 (2026 年 5 月) の情報および動作に基づいています。製品の仕様や提供形態は将来のバージョンで変更される可能性がありますので、最終的な判断は最新の公式ドキュメントをご確認ください。また、より細かい個別のトピックについては、過去の記事もあわせてご参照ください。


Visual C++ Redistributable とは何ですか?

Visual C++ Redistributable は、Visual C++ で作成されたアプリケーションを実行するために必要な C/C++ ランタイム ライブラリをインストールするためのパッケージです。Visual C++ で作成された多くのアプリケーションがこれらのライブラリを必要とするため、対象のアプリケーションを動作させるコンピューターにも、アプリケーションがビルドされた Visual C++ のバージョンと同等かより新しいバージョンの Visual C++ Redistributable をインストールしておく必要があります。


なぜ複数の Visual C++ Redistributable がインストールされているのですか?

Visual C++ Redistributable はアーキテクチャ (x86 / x64 / ARM64) ごとに別々のパッケージとして提供されています。そのため、必要に応じて同じバージョンで複数のアーキテクチャ向けの Visual C++ Redistributable がインストールされることがあります。

また、複数のアプリケーションがそれぞれ異なる Visual C++ のバージョンでビルドされている場合、複数の Visual C++ Redistributable が共存することがあります。たとえば、古いアプリケーションが Visual C++ 2008、2010、2013 のランタイムを必要とし、新しいアプリケーションが Visual Studio 2015 以降の v14 系ランタイムを必要とする場合などです。

複数のバージョンが共存していること自体は、本記事執筆時点では珍しいものではなく、それぞれのアプリケーションが必要とするバージョンのランタイムをインストールしている状況とお考えいただいて差し支えありません。一方で、Visual Studio 2013 以前のバージョンはいずれも既にサポートが終了しています。それぞれのアプリケーションのサポート ライフサイクルや、Visual Studio 2015 以降の v14 系ランタイムへの移行が進むにつれて、Visual C++ 2013 以前の Redistributable を含む構成は今後一般的ではなくなっていくものと見込まれます。Visual C++ 2013 以前の Redistributable に依存しているアプリケーションについては、サポート終了済みのランタイムに依存していることも踏まえ、サポート対象の v14 系ランタイムへの移行をアプリケーション ベンダーへご相談いただくことをご検討ください。


Visual C++ Redistributable のバージョン間に互換性はありますか?

Visual C++ 2015 以降の v14 系 Visual C++ ランタイムは、バイナリの後方互換性が保証されています。これは、特定の Visual C++ バージョンをターゲットに開発されたアプリケーションが、再ビルドすることなく、ターゲットより新しい v14 系ランタイム上でも互換性を維持して動作することを意味します。たとえば、Visual C++ 2019 でビルドされたアプリケーションは、Visual C++ 2019 以降の v14 系ランタイム上では互換性を保って動作することが想定されています。(参考情報: Visual Studio のバージョン間の C++ バイナリ互換性)

このため、Visual C++ 2015 以降の v14 系でビルドされたアプリケーションについては、最新の v14 系 Visual C++ Redistributable をインストールしておけば動作することが期待できます。逆に、ビルドに使用した Visual C++ のバージョンより古いランタイムでの動作は保証されません。たとえば Visual C++ 2022 でビルドしたアプリケーションを Visual C++ 2019 のランタイム上で実行するケースの動作は保証されません。

なお、Visual C++ 2013 以前と Visual C++ 2015 以降は別系列のランタイムであり、相互の互換性はありません。

Visual C++ の互換性の考え方の詳細については、Visual C++ の互換性について(Visual C++ 2015 以降) の記事もあわせてご参照ください。


Visual C++ 2015 以降の Redistributable を複数バージョン同時にインストールすることは可能ですか?

Visual C++ 2015 以降の v14 系 Visual C++ Redistributable は新しいバージョンが古いバージョンを置き換えるため、同じアーキテクチャ (x86 / x64 / ARM64) 内では複数バージョンを同時にインストールすることはできません。


64 bit Windows では x64 だけをインストールすればよいですか? x86 も必要ですか?

Visual C++ Redistributable のアーキテクチャは、OS のアーキテクチャではなくアプリケーションのターゲット アーキテクチャに合わせる必要があります。そのため、64 bit Windows であっても、x86 ターゲットのアプリケーションを動作させるためには x86 の Visual C++ Redistributable が必要になります。


古い Visual C++ Redistributable はアンインストールしてもよいですか?

Visual C++ Redistributable は、Visual C++ でビルドされたアプリケーションが必要とするランタイム ライブラリを提供するものであり、アプリケーションの前提条件となるコンポーネントです。Visual C++ Redistributable をアンインストールした場合、その Redistributable に依存するアプリケーションが動作しなくなる可能性があります。そのため、サポート終了の対応や容量削減などを目的に一律で古い Visual C++ Redistributable をアンインストールすることはお勧めしておりません。対象端末で動作させているアプリケーションのベンダーが公開しているシステム要件を踏まえ、影響がないことをご確認いただくようお願いします。特に Visual C++ 2013 以前の Redistributable は、Visual C++ 2015 以降の v14 系 Redistributable で代替できるものではありませんのでご注意ください。


Visual C++ Redistributable は Windows Update で自動的に更新されますか?

現時点では、v14 系の Visual C++ Redistributable は Windows Update および Microsoft Update で提供されていません。そのため、Windows Update を通じて Visual C++ Redistributable 自体が単体で更新されることはありません。


意図せず Visual C++ Redistributable のバージョンが上がっていました。なぜですか?

Visual C++ Redistributable はシステム共通のコンポーネントとして提供されており、複数のアプリケーションから共有して利用される前提のソフトウェアです。そのため、Visual C++ ランタイムに依存する各アプリケーションのインストールや更新に伴って、そのアプリケーションが必要とするバージョンの Visual C++ Redistributable もインストールや更新が行われることがあります。

具体的には、以下のようなタイミングで意図せずバージョンが上がるケースが考えられます。

  • Visual Studio 自体のインストールや更新を行ったとき
  • Visual C++ ランタイムを前提条件とするアプリケーションのインストールや更新を行ったとき

Visual C++ Redistributable のバージョンを固定し、自動的な更新を抑制できますか?

v14 系の Visual C++ Redistributable について、システムにインストールされているバージョンを特定のバージョンに固定し、それ以上の更新を抑制するような仕組みは提供されていません。Visual C++ Redistributable は複数のアプリケーションから共有して利用されるソフトウェアで、他のアプリケーションのインストールや更新に伴って必要なバージョンがインストールされることがあります。そのため、特定のバージョンに固定することは想定されていません。

なお、予期せず Visual C++ Redistributable のバージョンが新しくなっていた場合、新しいバージョンが必要なアプリケーションのインストールや更新に伴って Visual C++ Redistributable が更新された可能性が高いと考えられます。この場合、古いバージョンに戻すとそのアプリケーションの動作で問題が生じる可能性がありますのでご注意ください。


インストールされている Visual C++ Redistributable のバージョンはどこで確認できますか?

「設定」アプリの「アプリ」>「インストールされているアプリ」の一覧から、インストールされている Visual C++ Redistributable のバージョンを確認できます。"Microsoft Visual C++" の表示名で検索し、インストールされているバージョンとアーキテクチャを確認してください。

また、レジストリの以下のキー配下の Version 値を確認することでもインストールされているバージョンを確認できます。(参考情報: Visual C++ ファイルの再頒布)

1
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64}

Visual C++ Redistributable のインストール/アンインストール/修復には再起動が必要ですか?

Visual C++ Redistributable のインストール/アンインストール/修復時に置き換え対象の Visual C++ ランタイム DLL が他のプロセスから使用中で更新できない場合、ランタイム DLL のファイル操作は再起動時に遅延され、コンピューターの再起動が要求されます。再起動の要否は Visual C++ Redistributable の実行時点のシステムの状態によって決まるため、事前に確実に判断したり再起動を回避することは難しい点にご注意ください。再起動が必要となる可能性があることを前提に作業を計画していただくことをお勧めします。


サイレントでインストール/アンインストール/修復はできますか?

/quiet または /q オプションを指定して Visual C++ Redistributable を実行することで、UI を表示せずにサイレントでインストール/アンインストール/修復を行うことができます。

なお、サイレントで操作を行った際に再起動が要求されると、Visual C++ Redistributable によって自動的にコンピューターの再起動が行われます。意図しない再起動を避けるためには、/quiet/q のオプションと組み合わせて /norestart を指定することが一般的です。この場合、再起動が要求されると Visual C++ Redistributable は終了コード 3010 を返します。終了コード 3010 は失敗を意味するものではなく、再起動が必要であることを示すコードですので、サイレント インストールの呼び出し元でこの終了コードを適切に処理する必要があります。

1
2
3
4
5
6
7
8
# サイレント インストールの例
VC_redist.x64.exe /quiet /norestart

# サイレント アンインストールの例
VC_redist.x64.exe /uninstall /quiet /norestart

# サイレント 修復の例
VC_redist.x64.exe /repair /quiet /norestart


本ブログの内容は弊社の公式見解として保証されるものではなく、開発・運用時の参考情報としてご活用いただくことを目的としています。もし公式な見解が必要な場合は、弊社ドキュメント (https://learn.microsoft.comhttps://support.microsoft.com) をご参照いただくか、もしくは私共サポートまでお問い合わせください。