Arquitectura de implementación para el SDK Windows App
En este artículo se explican los bloques de creación básicos y la arquitectura de alto nivel de Windows implementación del SDK de aplicaciones. Para obtener instrucciones para implementar aplicaciones que usan el SDK Windows app, consulte estos artículos:
- Implementación de aplicaciones empaquetadas con MSIX que usan el SDK Windows App
- Implementación de aplicaciones empaquetadas que no son MSIX que usan el SDK Windows App (característica experimental)
Términos clave
| Término | Definición |
|---|---|
| Windows entorno de ejecución del SDK de aplicaciones | Todos los paquetes MSIX requeridos por una aplicación para poder usar el SDK Windows app. Estos paquetes incluyen: Framework, Main y DDLM. |
| Paquete framework | Contiene archivos binarios que las aplicaciones usan en tiempo de ejecución. El marco incluye un componente de programa previo que permite a las aplicaciones instalar automáticamente la versión más reciente del SDK de Windows App, que se actualizará según una cadencia de versión normal. |
| Paquete principal | Contiene las tareas en segundo plano, los servicios, las extensiones de aplicación y otros componentes que no se incluyen en el paquete de marco. Por lo general, se trata de servicios fuera de proceso que se intermedian entre aplicaciones, como las notificaciones push y el Portapapeles. |
| Paquete Singleton | Contiene servicios y otros componentes no incluidos en el paquete de Framework. Por lo general, se trata de un único proceso de ejecución larga que se negocia entre aplicaciones, como las notificaciones push. |
| Administrador de duración de dependencias dinámicas (DDLM) | Un paquete principal que impide que el sistema operativo realice actualizaciones de mantenimiento en los paquetes MSIX mientras se usa una aplicación sin empaquetar. |
| Archivos de arranque | Un archivo binario local de la aplicación que usan las aplicaciones no empaquetadas para buscar y cargar la mejor coincidencia Windows versión del SDK de la aplicación según sea necesario para la aplicación. |
| Aprovisionamiento | Proceso de instalación y registro de paquetes (incluidos archivos y claves del Registro) en todo el sistema para eliminar la necesidad de una instalación repetida por parte de los demás usuarios. Se puede realizar como parte del sistema operativo o durante la instalación de una aplicación. |
| Instalador | Tecnología de instalación para instalar una aplicación, como msi, Instalador de aplicación o .exe instalación. |
| MSIX | Tecnología moderna del instalador que permite a los usuarios instalar de forma segura una aplicación por usuario, directamente desde Microsoft Store o desde un sitio web. En Enterprise o equipos compartidos, las aplicaciones se pueden instalar para todos los usuarios a través de PowerShell y MDM. |
Requisitos para aplicaciones empaquetadas y sin empaquetar
Paquete framework
Al compilar una aplicación que usa el SDK de Windows App, la aplicación hace referencia a un conjunto de componentes en tiempo de ejecución de Windows App SDK que se distribuyen a los usuarios finales a través de un paquete de marco . El paquete de marco permite que las aplicaciones empaquetadas accedan Windows los componentes del SDK de aplicaciones a través de un único origen compartido en el dispositivo del usuario, en lugar de agruparlos en el paquete de la aplicación. El paquete de marco también incluye sus propios recursos, como archivos DLL y definiciones de API (registros com y Windows runtime). Estos recursos se ejecutan en el contexto de la aplicación, por lo que heredan las funcionalidades y privilegios de la aplicación y no declaran ninguna funcionalidad o privilegio propio. Para obtener más información sobre las dependencias del paquete de marcos, vea Paquetes de marcos MSIX y dependencias dinámicas.
El Windows marco del SDK de aplicaciones es un paquete MSIX que se implementa para los usuarios finales a través del Microsoft Store. Se puede actualizar fácilmente y rápidamente con las versiones más recientes, además de las correcciones de seguridad y confiabilidad. Todas las aplicaciones que usan el SDK Windows App en un equipo tienen una dependencia en una instancia compartida del paquete de marco, como se muestra en el diagrama siguiente.
Cuando se lanza una nueva versión del paquete del marco Windows App SDK, todas las aplicaciones se actualizan a la nueva versión sin tener que redistribuir una copia. Windows actualizaciones a la versión más reciente de los marcos a medida que se lanzan, y las aplicaciones harán referencia automáticamente a la versión más reciente del paquete de marco durante el reinició. Las versiones anteriores de paquetes de marco de trabajo no se quitarán del sistema hasta que las aplicaciones del sistema ya no las estén ejecutando o estén utilizando activamente.
Dado que la compatibilidad de aplicaciones es importante para Microsoft y para las aplicaciones que dependen del SDK de aplicaciones de Windows, el paquete del marco del SDK para aplicaciones de Windows sigue las reglas de versionamiento semántico 2.0.0. Esto significa que después de publicar la versión 1.0 del SDK de aplicaciones de Windows, el paquete del marco del SDK de aplicaciones de Windows garantizará la compatibilidad entre los cambios de versión secundaria y de revisión, y solo se producirán cambios importantes entre las actualizaciones de versión principal.
Paquete principal
El paquete principal contiene un proceso de servidor de corta duración que realiza un seguimiento de las dependencias dinámicas que se han agregado y permite al Almacén actualizar el paquete de marco.
Paquete Singleton
El paquete singleton garantiza que un único proceso de ejecución larga pueda controlar los servicios que se usan en varias aplicaciones, que pueden ejecutarse en versiones diferentes del SDK de Windows App.
El singleton del SDK de Windows App es necesario para habilitar las notificaciones push para aplicaciones sin empaquetar y aplicaciones Win32 empaquetadas mediante versiones de Windows inferiores a 20H1, que no pueden ser compatibles con la clase PushNotificationTrigger y ToastNotificationActionTrigger existentes de UWP.
Requisitos adicionales para aplicaciones sin empaquetar
Archivos de arranque
El programa previo es una biblioteca que debe incluirse con la aplicación sin empaquetar. Proporciona la API del programa previo, que permite que las aplicaciones sin empaquetar realicen estas tareas importantes:
- Inicialice el Administrador de duración de dependencias dinámicas (DDLM) para el Windows marco del SDK de aplicaciones.
- Busque y cargue el Windows marco del SDK de aplicaciones en el gráfico de paquetes de la aplicación.
Para realizar estas tareas, el paquete nuget aprovecha los inicializadores de módulo para conectar el programa previo automáticamente. Simplemente establezca <WindowsPackageType>None</WindowsPackageType> en el archivo del proyecto. En escenarios avanzados, si desea controlar la inicialización, puede llamar a la API del programa previo directamente en el código de inicio de la aplicación para que pueda inicializar correctamente el sistema de la aplicación sin empaquetar. La aplicación sin empaquetar debe usar la API del programa previo para poder usar características del SDK de Windows App, como WinUI, ciclo de vida de la aplicación, MRT Core y DWriteCore.
La biblioteca de programa previo de Windows versión estable de App SDK 1.0 incluye:
- Microsoft.WindowsAppRuntime.Bootstrap.dll (C++ y C#)
- Microsoft.WindowsAppRuntime.Bootstrap.Net.dll (contenedor de C#)
Administrador de duración de dependencias dinámicas (DDLM)
El propósito de DDLM es evitar el mantenimiento del paquete del marco del SDK de Windows App mientras está en uso por una aplicación sin empaquetar. Contiene un servidor que el programa previo debe inicializar al principio del inicio de una aplicación para proporcionar esa funcionalidad.
Hay un DDLM para cada versión y arquitectura del Windows marco del SDK de aplicaciones. Esto significa que, en un equipo, puede tener y una versión de DDLM para admitir x64x86 aplicaciones de ambas x64 arquitecturas.

