Información general del Marco de compatibilidad de paquete

El Marco de compatibilidad de paquete (PSF) es un kit de código abierto que te permite aplicar correcciones a tu aplicación de escritorio existente cuando no tienes acceso al código fuente, de modo que pueda ejecutarse en un contenedor de MSIX. La plataforma de compatibilidad de paquete te ayuda a que la aplicación siga las prácticas recomendadas del entorno de tiempo de ejecución moderno.

Estos son algunos ejemplos comunes donde puedes encontrar la práctica plataforma de compatibilidad de paquete:

  • La aplicación no encuentra algunos archivos .dll al iniciarse. Es posible que tengas que establecer el directorio de trabajo actual. Puedes obtener información sobre el directorio de trabajo actual necesario en el acceso directo original antes de la conversión a MSIX.
  • La aplicación se escribe en la carpeta de instalación. Por lo general, se mostrarán errores de "acceso denegado" en Monitor de procesos.
  • La aplicación debe pasar parámetros al archivo ejecutable en el inicio. Puedes obtener más información acerca de cómo PSF puede ser de ayuda aquí y sobre las configuraciones disponibles aquí.

Este marco es código abierto, ligero, y puedes usarlo para solucionar problemas de la aplicación rápidamente. También ofrece la posibilidad de consultar con la comunidad de todo el mundo y seguir avanzando gracias a las inversiones de otros usuarios.

Para obtener una guía paso a paso, consulte nuestra guía de introducción.

Introducción al uso del marco de compatibilidad de paquete

Estas son las herramientas que necesitará:

  1. El marco de compatibilidad de paquete
  2. Obtención del Monitor de procesos para identificar problemas

Puedes comprobar nuestra instancia de GitHub para ver todas las correcciones disponibles. Si hay alguna, puede aplicarla al paquete. Nuestra guía paso a paso te muestra cómo hacerlo. También te mostrará cómo utilizar el depurador de Visual Studio para recorrer la aplicación, y comprobar que la corrección funciona y ha resuelto el problema de compatibilidad.

Si no encuentras ninguna corrección de tiempo de ejecución que resuelva el problema, puedes crear una. Para ello, tienes que identificar qué llamadas de función provocan un error cuando la aplicación se ejecuta en un contenedor de MSIX. Después, puedes crear funciones de reemplazo a las que te gustaría que llamara el administrador de tiempo de ejecución. Esto ofrece la oportunidad de reemplazar la implementación de una función por un comportamiento que se ajuste a las reglas del entorno de tiempo de ejecución moderno.

Para crear el marco de compatibilidad de paquete, utilizamos la tecnología Detours, que es un marco de código abierto desarrollado por Microsoft Research (MSR), y que ayuda con la redirección y el enlace de la API.

También puedes usar el marco de compatibilidad de paquete para ejecutar scripts con el fin de personalizar dinámicamente una aplicación para el entorno del usuario. Para obtener más información, consulta este artículo.

Limitaciones

La plataforma de compatibilidad de paquetes no admite invalidaciones del registro. Se ha diseñado para resolver los problemas de tiempo de ejecución.

Datos y telemetría

El marco de compatibilidad de paquete incluye telemetría que recopila datos de uso y los envía a Microsoft para ayudar a mejorar nuestros productos y servicios. Lee la declaración de privacidad de Microsoft para obtener más información. Sin embargo, los datos solo se recopilarán cuando se cumplan las dos condiciones siguientes:

  • Los archivos binarios del marco de compatibilidad de paquete se usan desde el paquete NuGet en un equipo Windows 10.
  • El usuario ha habilitado la recopilación de datos en el equipo.

El paquete NuGet contiene archivos binarios firmados y recopilará datos de uso del equipo. La telemetría no se recopila cuando los archivos binarios se compilan localmente mediante la clonación del repositorio o la descarga directa de los archivos binarios.