Compartir a través de


Paquetes de marco de tiempo de ejecución de C++ para Puente de escritorio

En este artículo se describe cómo crear un contenedor puente de escritorio que incluya las bibliotecas de C++ Runtime correctas.

Versión original del producto: Windows 10
Número de KB original: 3176696

Resumen

Las aplicaciones de escritorio de Windows que tienen una dependencia en las bibliotecas en tiempo de ejecución de C++ deben especificar la versión correspondiente del paquete de marco de tiempo de ejecución de C++ para Puente de escritorio durante la creación del paquete de aplicación. Esto debe realizarse en lugar de simplemente redistribuir las bibliotecas en tiempo de ejecución de C++ que se incluyen con Visual Studio o visual C++ Runtime redistribuible (VCRedist). Las aplicaciones de escritorio de Windows que se ejecutan en un contenedor puente de escritorio no pueden usar las bibliotecas en tiempo de ejecución de C++ que se incluyen con Visual Studio o VCRedist. Una aplicación que se ejecuta en un contenedor de Puente de escritorio y que usa una versión incorrecta de las bibliotecas en tiempo de ejecución de C++ puede producir un error cuando intenta acceder a recursos como el sistema de archivos o el Registro. En este artículo se describe cómo crear un contenedor puente de escritorio que incluya las bibliotecas de C++ Runtime correctas.

Instalación y actualización de paquetes del marco de trabajo de Escritorio

Microsoft proporciona paquetes de marco de tiempo de ejecución de C++ para permitir que las aplicaciones hagan referencia al entorno de ejecución de C++ desde aplicaciones de escritorio distribuidas a través de la Tienda Windows. Estos paquetes se distribuyen y actualizan a través de la Tienda Windows y se controlan de forma similar a los paquetes de marco de C++ para UWP.

Con fines de desarrollo, la versión actual (v14.0) de los paquetes appx de depuración y venta minorista se incluye con Visual Studio 2022 al elegir la carga de trabajo Desarrollo de plataforma universal de Windows con el componente opcional C++ (v143) Universal Windows Tools . Los paquetes se pueden encontrar en %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0.

Nota:

Los vínculos de descarga de paquetes siguientes ya están en desuso y es posible que ya no funcionen en el futuro. Asegúrese de usar el método descrito anteriormente para obtener los paquetes del marco.

Paquetes de marcos de escritorio heredados

Los paquetes de marco de tiempo de ejecución de C++ anteriores para aplicaciones de escritorio, v11.0 y v12.0, se pueden descargar e instalar desde estas ubicaciones:

Los paquetes del marco de tiempo de ejecución de C++ se copiarán en una subcarpeta en %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop. Puede instalar los paquetes manualmente mediante el cmdlet de Add-AppxPackage PowerShell.

Cómo hacer referencia a los paquetes del marco de trabajo de escritorio

En el archivo AppxManifest.xml de la aplicación, especifique un PackageDependency valor que corresponda al paquete de marco adecuado:

  • Versión 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>
    
  • Versión 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>
    
  • Versión 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>
    

La aplicación ahora instalará los archivos DLL en tiempo de ejecución de C++ desde el paquete de dependencias cuando se implemente.

Referencias

Uso del entorno de ejecución de Visual C++ en el proyecto del centenario