Paquetes de marco de tiempo de ejecución de C++ para Puente de dispositivo de escritorio
En este artículo se describe cómo crear un contenedor de Puente de dispositivo de escritorio que incluya las bibliotecas en tiempo de ejecución de C++ 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 del marco en tiempo de ejecución de C++ para Puente de dispositivo de escritorio durante la creación del paquete de aplicación. Esto debe hacerse en lugar de redistribuir simplemente las bibliotecas en tiempo de ejecución de C++ que se incluyen con Visual Studio o visual C++ Runtime redistributable (VCRedist). Las aplicaciones de escritorio de Windows que se ejecutan en un contenedor de Puente de dispositivo 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 dispositivo de escritorio y que usa una versión incorrecta de las bibliotecas en tiempo de ejecución de C++ podría 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 de Puente de dispositivo de escritorio que incluya las bibliotecas en tiempo de ejecución de C++ correctas.
Instalación y actualización de paquetes de marco de escritorio
Microsoft proporciona paquetes de marco en 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 UWP de C++.
Con fines de desarrollo, la versión actual (v14.0) de los paquetes appx de depuración y venta directa se incluye con Visual Studio 2022 al elegir la carga de trabajo desarrollo de Plataforma universal de Windows con el componente opcional Herramientas universales de Windows de C++ (v143). Los paquetes se pueden encontrar en %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0
.
Nota:
Los siguientes vínculos de descarga de paquetes 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 de marco.
Paquetes de marcos de escritorio heredados
Los paquetes anteriores del marco de trabajo en tiempo de ejecución de C++ para aplicaciones de escritorio, v11.0 y v12.0, se pueden descargar e instalar desde estas ubicaciones:
- Paquete de marco de C++ Runtime v11.0 para Puente de dispositivo de escritorio (Project Centennial)
- Paquete de marco de C++ Runtime v12 para Puente de dispositivo de escritorio (Project Centennial)
Los paquetes del marco en 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 Add-AppxPackage
cmdlet de PowerShell.
Cómo hacer referencia a los paquetes del marco 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 instalará ahora los archivos DLL del entorno 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 Centennial