Visual C++ ファイルの再配布

Note

Visual C++ ランタイム ファイルのいずれかのダウンロードをお探しの場合は、 「サポートされている最新の Visual C++ 再頒布可能パッケージのダウンロード」ページを参照してください。

再頒布可能ファイルとライセンス

アプリケーションを配置する場合は、アプリケーションをサポートするために必要なすべてのファイルも配置する必要があります。 必要なファイルに Microsoft から提供されるファイルが含まれる場合、それを再配布する権限を持っているかどうか確認します。 IDE で Visual Studio ライセンス条項のリンクが表示されます。 [Microsoft Visual Studio のバージョン情報] ダイアログ ボックスの [ライセンス条項] リンクを使用します。 または、Visual Studio ライセンス ディレクトリから関連する EULA とライセンスをダウンロードします。

Visual Studio 2022 マイクロソフト ソフトウェア ライセンス条項の「再頒布可能コード」セクションで参照されている "再頒布リスト" を表示するには、「Microsoft Visual Studio 2022 の再頒布可能コード ファイル」を参照してください。

Visual Studio 2019 マイクロソフト ソフトウェア ライセンス条項の「再頒布可能コード」セクションで参照されている "再頒布リスト" を表示するには、「Microsoft Visual Studio 2019 の再頒布可能コード ファイル」を参照してください。

Visual Studio 2017 マイクロソフト ソフトウェア ライセンス条項の「再頒布可能コード」セクションで参照されている "再頒布リスト" を表示するには、「Microsoft Visual Studio 2017 の再頒布可能コード ファイル」を参照してください。

Visual Studio 2015 マイクロソフト ソフトウェア ライセンス条項の「再頒布可能コード」セクションで参照されている "再頒布リスト" を表示するには、「Microsoft Visual Studio 2015 の再頒布可能コード ファイル」を参照してください。

再頒布可能ファイルの詳細については、「再配布する DLL の決定」と「配置例」を参照してください。

再頒布可能ファイルの検出

再頒布可能ファイルをデプロイするには、Visual Studio によってインストールされた再頒布可能パッケージを使用できます。 2017 以降のバージョンの Visual Studio では、これらのファイルの名前は vc_redist.arm64.exevc_redist.x64.exe、および vc_redist.x86.exe です。 Visual Studio 2015、2017、2019 では、vcredist_x86.exevcredist_x64.exe、(2015 のみ) vcredist_arm.exe という名前でも使用できます。

再頒布可能ファイルを見つける最も簡単な方法は、開発者コマンド プロンプトで設定された環境変数を使用することです。 Visual Studio 2022 では、再頒布可能ファイルは %VCINSTALLDIR%Redist\MSVC\v143 フォルダーにあります。 最新バージョンの Visual Studio 2019 では、%VCINSTALLDIR%Redist\MSVC\v142 フォルダーに再頒布可能ファイルがあります。 Visual Studio 2017 と Visual Studio 2019 の両方では、%VCToolsRedistDir% にもあります。 Visual Studio 2015 では、これらのファイルは %VCINSTALLDIR%redist\<locale> にあります。ここで、<locale> は再頒布可能パッケージのロケールです。

Visual Studio 2022 と 2019 では、マージ モジュール ファイルは、Visual Studio インストーラーで C++<バージョン> 再頒布可能 MSM という名前の、オプションでインストール可能なコンポーネントに含まれています。 マージ モジュールは、既定で Visual Studio 2017 と Visual Studio 2015 で C++ インストールの一部としてインストールされます。 Visual Studio 2022 にインストールされる場合、再頒布可能パッケージのマージ モジュールは %VCINSTALLDIR%Redist\MSVC\v143\MergeModules にあります。 最新バージョンの Visual Studio 2019 では、再頒布可能パッケージのマージ モジュールは %VCINSTALLDIR%Redist\MSVC\v142\MergeModules にあります。 Visual Studio 2019 と Visual Studio 2017 の両方では、%VCToolsRedistDir%MergeModules にもあります。 Visual Studio 2015 では、Program Files [(x86)]\Common Files\Merge Modules にあります。

再頒布可能パッケージのインストール

Visual C++ 再頒布可能パッケージでは、すべての Visual C++ ライブラリがインストールされ、登録されます。 これを使用する場合は、アプリケーションをインストールする前に、ターゲット システムで前提条件として実行します。 配置ではこのパッケージを使用することをお勧めします。これにより、Visual C++ ライブラリの自動更新が有効になるためです。 これらのパッケージの使用方法の例については、「チュートリアル: Visual C++ 再頒布可能パッケージを使用した Visual C++ アプリケーションの配置」を参照してください。

各 Visual C++ 再頒布可能パッケージでは、より新しいバージョンがコンピューター上に存在するかどうかを確認します。 より新しいバージョンが見つかった場合、パッケージはインストールされません。 Visual Studio 2015 以降では、再頒布可能パッケージのセットアップが失敗したことを示すエラー メッセージが表示されます。 /quiet フラグを使用してパッケージを実行した場合、エラー メッセージは表示されません。 いずれの場合も、Microsoft インストーラーによってエラーがログ記録され、エラー結果が呼び出し元に返されます。 Visual Studio 2015 以降では、レジストリを確認して、より新しいバージョンがインストールされているかどうかを調べると、このエラーを回避できます。 現在インストールされているバージョン番号は、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64} キーに格納されます。 Visual Studio 2015、2017、2019、2022 のバージョン番号は 14.0 です。最新の再頒布可能パッケージは 2015 からの前のバージョンとバイナリ互換性があるからです。 プラットフォームのインストールされている vcredist バージョンに応じて、キーは arm64x86、または x64 です。 (RegEdit を使用して x64 プラットフォームにインストールされている x86 パッケージのバージョンを表示する場合のみ、Wow6432Node サブキーの下を確認する必要があります。)バージョン番号は、REG_SZ 文字列値 Version と、さらに MajorMinorBldRbld REG_DWORD 値のセットに格納されています。 インストール時のエラーを回避するため、現在インストールされているバージョンの方が新しい場合は、再頒布可能パッケージのインストールをスキップする必要があります。

再頒布可能パッケージのコマンドライン オプション

Visual C++ 再頒布可能パッケージでは、いくつかのコマンド ライン オプションがサポートされています。 /?/h、または /help オプションを選択すると、使用できるオプションを一覧表示するポップアップ ダイアログが表示されます。 再頒布可能パッケージのインストールには /install、修復には /repair、またはアンインストールには /uninstall を指定できます。 /layout オプションを使用すると、再頒布可能パッケージの完全な内容が現在のディレクトリにコピーされます。 再頒布可能パッケージを使用すると、既定でその内容がインストールされ、情報の入力と、インストール後に再起動するかどうかのプロンプトがユーザーに表示されます。 /passive オプションを指定すると、進行状況が表示されますが、それ以外の場合はユーザーの操作は必要ありません。 UI を表示しない、またはユーザーの操作を必要としない /quiet オプションを指定することもできます。 /norestart オプションを使用すると、再起動の試行を抑制できます。 既定では、ログ ファイルは %TEMP% に作成されます。 /log filename.txt を使用すると、特定のファイルにログできます。

このコマンド例では、x64 再頒布可能パッケージがインストールされます。 インストールの進行状況が表示されますが、ユーザー操作や再起動は必要ありません。

vc_redist.x64.exe /install /passive /norestart

再頒布可能マージ モジュールのインストール

重要

Visual C++ 再頒布可能パッケージ ファイルのマージ モジュール (.msm ファイル) は非推奨とされます。 アプリケーションの配置に使用することはお勧めしません。 代わりに、Visual C++ 再頒布可能パッケージの集中配置をお勧めします。 再頒布可能パッケージによる集中配置を使用すると、Microsoft がランタイム ライブラリ ファイルを個別に処理することが可能になります。 また、アプリをアンインストールしても、同様に集中配置を使用している他のアプリケーションは影響を受けません。 再頒布可能パッケージを使用した集中配置の場合、ランタイム ライブラリを追跡および保守する責任はユーザーにはありません。 それ以外の場合、ランタイム ライブラリ ファイルを更新するには、.msi インストーラーを更新して再配置する必要があります。 そうしないと、アプリがバグやセキュリティの問題に対して脆弱になる可能性があります。

再頒布可能マージ モジュールは、アプリケーションのデプロイに使用する Windows インストーラー パッケージ (または同様のインストール パッケージ) に含まれている必要があります。 詳細については、「マージ モジュールを使用した再配布」を参照してください。 例については、「チュートリアル: セットアップ プロジェクトを使用した Visual C++ アプリケーションの配置」を参照してください。

個々の再頒布可能ファイルのインストール

再頒布可能 DLL を "アプリケーションのローカル フォルダー" に直接インストールすることもできます。 アプリケーション ローカル フォルダーは、アプリケーション実行可能ファイルを格納するフォルダーです。 サービス上の理由から、このインストール場所を使用しないようにお勧めします。

発生する可能性のある実行時エラー

Windows でご利用のアプリケーションに必要な再頒布可能ライブラリ DLL のいずれも見つからない場合、"library.dll が見つからなかったため、このアプリケーションを開始できませんでした。 アプリケーションを再度インストールすることにより問題が解決する場合があります" というメッセージが表示される場合があります。

この種のエラーを解決するには、アプリケーション インストーラーが正しくビルドされていることを確認します。 再頒布可能ライブラリがターゲット システムに正しく配置されていることを確認します。 詳細については、「Visual C++ アプリケーションの依存関係の理解」を参照してください。

マージ モジュールを使用した再配布
Visual C++ 再頒布可能パッケージのマージ モジュールを使用して、Visual C++ ランタイム ライブラリを共有 DLL として %windir%\system32\ フォルダーにインストールする方法について説明します。

Visual C++ ActiveX コントロールの再頒布
ActiveX コントロールを使用するアプリケーションを再配布する方法について説明します。

MFC ライブラリの再頒布
MFC を使用するアプリケーションを再配布する方法について説明します。

ATL アプリケーションの再頒布
ATL を使用するアプリケーションを再頒布する方法について説明します。 Visual Studio 2012 以降では、ATL ライブラリは必要ありません。

配置例
Visual C++ アプリケーションを配置する方法の例にリンクします。

デスクトップ アプリケーションの配置
Visual C++ の配置の概念とテクノロジの概要です。