Share via


Visual C++ での配置

アプリケーションを別のコンピューターに配置する場合、アプリケーションと、アプリケーションが依存するすべてのライブラリ ファイルをインストールする必要があります。Visual Studio 2012 の Visual C++ は、アプリケーションの Visual C++ ランタイムを配置する 3 とおりの方法を示します: 集中配置、ローカル配置、または静的リンク。

集中配置

集中配置とは、Visual C++ DLL を System32 ディレクトリにインストールすることを表します。アプリケーションを集中配置するには、次のどちらかを使用できます。

  • VCRedist_<アーキテクチャ>.exe コマンド ライン ツール (<アーキテクチャ> は x32x64、または ia64)。

  • マージ モジュール。

VCRedist_<アーキテクチャ>.exe を実行すると、ハードウェア プラットフォーム固有のすべてのライブラリがインストールされます。マージ モジュール (.msm ファイル) は、開発者が共有 Windows Installer コンポーネントを配置するための標準的な方法とセットアップ ロジックをアプリケーションに提供します。

集中配置の最大の利点は、緊急時のサービス性です。重大なセキュリティ上の脆弱性が見つかった場合、集中配置されたライブラリ ファイルはマイクロソフトによって自動的に更新されます。

ローカル配置

ローカル配置とは、アプリケーションのライブラリ ファイルをアプリケーション フォルダーにインストールすることを表します。アプリケーションをローカル配置する場合は、実行可能ファイルとこれに関連付けられているライブラリ ファイルをフォルダーにコピーするだけです。

異なるライブラリのバージョンでは、ファイル名にバージョン番号が含まれているため共存させることができます (たとえば、CRT DLL のバージョン 11 は msvcr110.dll です)。

集中配置されたライブラリと異なり、ローカル ライブラリはマイクロソフトによって自動的に更新されません。ローカル配置を使用する場合は、ライブラリを更新する独自の方法も実装する必要があります。

静的リンク

アプリケーションを任意のライブラリ (CRT、MFC、ATL など) に静的にリンクして、DLL への依存関係を持たない実行可能ファイルを作成できます。静的リンクの利点は、アプリケーションを配置するときに、実行可能ファイルをコンピューター間でコピーでき、ライブラリ ファイルをコピーする必要もないことです。静的リンクを使用する場合、リンクされたライブラリがマイクロソフトによって更新されたときにも、更新されたライブラリをアプリケーションで使用することはできません。

セキュリティ上の脆弱性

セキュリティ上の脆弱性の場合、マイクロソフトでは、影響を受けるライブラリにセキュリティ パッチを提供します。この脆弱性がライブラリがインストールされているコンピューターのパッチを配置するアプリケーションの作成者の役割です。

セキュリティ上の脆弱性が重大なものであると判断され、緊急に対応する必要がある場合、マイクロソフトでは Microsoft Update を使用して、集中配置によって特定の Visual C++ ライブラリがインストールされているすべてのコンピューターに修正プログラムを提供します。アプリケーションでローカル ライブラリ ファイルを使用する場合は、緊急時の独自のプロビジョニング方法を用意する必要があります。

トラブルシューティング

ローダーの問題を診断するには、depends.exe または where.exe を使用します。Visual C++ ライブラリの読み込み順序はシステムに依存します。詳細については、ダイナミック リンク ライブラリの検索順序 (Windows)" "を参照してください。

参照

その他の技術情報

デスクトップ アプリケーションの配置 (Visual C++)