マイクロソフト、Visual C ++再頒布可能カオスを終了

Visual Studioで設計されたプログラムを実行するには、Microsoft Visual C ++ Redistributableの特定のバージョンが必要になる場合があります。 この要件により、Windows PCに多数のVisual C ++再頒布可能パッケージがインストールされました。

ソフトウェアプログラム、セキュリティ更新プログラムなどの更新プログラム、またはシステム管理者が手動でインストールしたシステム上に複数のMicrosoft Visual C ++再頒布可能パッケージが表示されることは珍しくありません。

再配布可能ファイルは中央の場所に保存されるため、システムにインストールされているプログラムは必要に応じてファイルにアクセスできます。 詳細については、Visual C ++再頒布可能パッケージに関する詳細ガイドをご覧ください。

Microsoftは、Visual Studio 2015、2017、2019用のMicrosoft Visual C ++ Redistributableのリリースでシステムを大幅に変更しました。これらの再配布可能なパッケージにはベースラインイメージが提供されているため、ターゲットシステムに異なるバージョンを個別にインストールする必要がなくなりました。

つまり、Visual C ++ 2019再頒布可能パッケージがシステムにインストールされている場合、Visual C ++ 2015または2017再頒布可能パッケージは自動的にサポートされるため、インストールする必要はなくなりました。

Microsoftは、「サポートされている最新のVisual C ++ダウンロード」サポートページで次の例を提供しています。

たとえば、Visual C ++ 2019再頒布可能パッケージをインストールすると、Visual C ++ 2015および2017でビルドされたプログラムにも影響します。 ただし、Visual C ++ 2015再頒布可能パッケージをインストールしても、Visual C ++ 2017および2019再頒布可能パッケージによってインストールされたファイルの新しいバージョンは置き換えられません。

これは、以前のすべてのVisual C ++バージョンとは異なります。それぞれのバージョンには、他のバージョンとは共有されない独自のランタイムファイルがありました。

MicrosoftのDocs Webサイトのサポート記事に詳細が記載されています。

Visual Studio .NETからVisual Studio 2013まで、C ++コンパイラおよびツールの各メジャーリリースには、Microsoft C Runtime(CRT)ライブラリの新しいスタンドアロンバージョンが含まれています。 これらのCRTのスタンドアロンバージョンは、互いに独立しており、さまざまな程度で相互に互換性がありませんでした。 たとえば、Visual Studio 2012で使用されるCRTライブラリはバージョン11、msvcr110.dllという名前で、Visual Studio 2013で使用されるCRTはバージョン12、msvcr120.dllという名前でした。 Visual Studio 2015以降、これは当てはまりません。 Visual Studio 2015以降のバージョンのVisual Studioはすべて、1つのユニバーサルCRTを使用します。

ユニバーサルCRTは、Microsoft Windowsオペレーティングシステムのコンポーネントです。 これは、Windows 10のオペレーティングシステムの一部として含まれており、Windows Updateを使用して、古いオペレーティングシステムであるWindows VistaからWindows 8.1までで使用できます。 さらに、Universal CRTのローカル展開がサポートされていますが、いくつかの制限があります。

Windows管理者は、次のリンクをクリックしてユニバーサルCランタイムをダウンロードできます。

  • x86:vc_redist.x86.exe
  • x64:vc_redist.x64.exe
  • ARM64:vc_redist.arm64.exe

Visual Studio用の古いVisual C ++再頒布可能パッケージは、別途ダウンロードしてインストールするか、プログラムのインストールプロセスの一部として配信する必要があります。

Visual C ++ All in One Installerは、Windowsシステムに再配布可能なパッケージをインストールする場合にも役立ちます。

終わりの言葉

ユニバーサルCランタイムは、正しい方向への一歩です。 古いC ++再頒布可能パッケージは処理しませんが、Visual C ++ 2015再頒布可能パッケージのリリースから処理を開始しました。

Now You:システムにはいくつの再配布可能なパッケージがインストールされていますか? (via Born)