デスクトップ ブリッジ用の C++ ランタイム フレームワーク パッケージ

この記事では、正しい C++ ランタイム ライブラリを含むデスクトップ ブリッジ コンテナーを作成する方法について説明します。

元の製品バージョン: Windows 10
元の KB 番号: 3176696

概要

C++ ランタイム ライブラリに依存する Windows デスクトップ アプリケーションでは、アプリケーション パッケージの作成時に、デスクトップ ブリッジに対応するバージョンの C++ ランタイム フレームワーク パッケージを指定する必要があります。 これは、Visual Studio または Visual C++ ランタイム再頒布可能 (VCRedist) に含まれる C++ ランタイム ライブラリを再配布するのではなく、行う必要があります。 デスクトップ ブリッジ コンテナーで実行される Windows デスクトップ アプリケーションでは、Visual Studio または VCRedist に含まれる C++ ランタイム ライブラリを使用することはできません。 デスクトップ ブリッジ コンテナーで実行されていて、正しくないバージョンの C++ ランタイム ライブラリを使用するアプリケーションは、ファイル システムやレジストリなどのリソースにアクセスしようとすると失敗する可能性があります。 この記事では、正しい C++ ランタイム ライブラリを含むデスクトップ ブリッジ コンテナーを作成する方法について説明します。

デスクトップ フレームワーク パッケージをインストールして更新する方法

Microsoft では、アプリケーションが Windows ストアを介して配布されるデスクトップ アプリケーションから C++ ランタイムを参照できるようにするための C++ ランタイム フレームワーク パッケージを提供しています。 これらのパッケージは、Windows ストアを通じて配布および更新され、C++ UWP フレームワーク パッケージと同様に処理されます。

開発目的で、デバッグとリテールの両方の appx パッケージの現在のバージョン (v14.0) は、オプションの C++ (v142) ユニバーサル Windows ツール コンポーネントを使用してユニバーサル Windows プラットフォーム開発ワークロードを選択すると、Visual Studio 2019 に含まれます。 パッケージは の下にあります %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0

Windows サンドボックスやオフライン マシンでアプリケーションが実行されるシナリオによっては、開発者は、次のいずれかのリンクから展開アーキテクチャに対応するパッケージをダウンロードし、PowerShell コマンドレットを使用してAdd-AppxPackage手動でインストールする方が簡単な場合があります。

従来のデスクトップ フレームワーク パッケージ

デスクトップ アプリケーション用の古い C++ ランタイム フレームワーク パッケージ (v11.0 と v12.0) は、次の場所からダウンロードしてインストールできます。

C++ ランタイム フレームワーク パッケージは、 の下 %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktopのサブフォルダーにコピーされます。 PowerShell コマンドレットを使用して、パッケージを手動で Add-AppxPackage インストールできます。

デスクトップ フレームワーク パッケージを参照する方法

アプリケーションの AppxManifest.xml ファイルで、適切な PackageDependency フレームワーク パッケージに対応する値を指定します。

  • バージョン 11.0:

    <Dependencies>
        <PackageDependency Name="Microsoft.VCLibs.110.00.UWPDesktop" MinVersion="11.0.61135.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"/>
    </Dependencies>
    
  • バージョン 12.0:

    <Dependencies>
        <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="120.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
        <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="12.0.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
    </Dependencies>
    
  • バージョン 14.0:

    <Dependencies>
        <PackageDependency Name="Microsoft.VCLibs.140.00.UWPDesktop" MinVersion="14.0.24217.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
    </Dependencies>
    

アプリケーションは、デプロイ時に依存関係パッケージから C++ ランタイム DLL をインストールします。

関連情報

100 周年記念プロジェクトでの Visual C++ ランタイムの使用