Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
En este artículo se explica una arquitectura de alto nivel de la implementación del SDK de aplicaciones de Windows. Los conceptos siguientes se aplican principalmente a aplicaciones dependientes del marco de Windows App SDK. Una aplicación dependiente del marco depende del entorno de ejecución de Windows App SDK que esté presente en la máquina de destino.
Hay dos opciones principales para distribuir una aplicación dependiente del marco:
| Método de implementación de aplicaciones | Requisitos |
|---|---|
| Empaquetado | - Debe declarar la dependencia del paquete Framework en el manifiesto del paquete. - La API de implementación es necesaria para las aplicaciones distribuidas a través de Microsoft Store y se recomienda para las aplicaciones distribuidas fuera de la Tienda para asegurarse de que se instalan las dependencias en tiempo de ejecución. |
| Empaquetado con ubicación externa o desempaquetado | - Debe distribuir el tiempo de ejecución mediante el instalador o instalando los paquetes MSIX necesarios directamente. - Requisitos de tiempo de ejecución adicionales: debe inicializar el acceso en el entorno de ejecución de Windows App SDK a través de la API de Bootstrap. |
Para obtener más información sobre estos requisitos, consulte los artículos siguientes:
- Windows App SDK guía de implementación para aplicaciones empaquetadas dependientes del marco
- Windows App SDK guía de implementación para aplicaciones dependientes del marco empaquetadas con ubicación externa o sin empaquetar
Términos clave
En las secciones siguientes se definen los términos clave para Windows App SDK implementación y detalles adicionales sobre algunos de estos paquetes.
| Término | Definición |
|---|---|
| Windows App SDK runtime | Los paquetes MSIX requeridos por una aplicación para usar el Windows App SDK. Estos paquetes incluyen: Framework, Main, Singleton y DDLM. Según las características usadas y el método de implementación de la aplicación, necesitará un determinado conjunto de estos paquetes en la máquina de destino. |
| Framework paquete | Contiene archivos binarios usados en tiempo de ejecución por aplicaciones (la mayoría de las características de Windows App SDK). El marco incluye un componente de programa previo que permite a las aplicaciones instalar automáticamente la versión más reciente del Windows App SDK, que se actualizará con una cadencia de versión normal. |
| Paquete principal | Paquete que contiene tareas en segundo plano para realizar un seguimiento de las dependencias dinámicas y permite las actualizaciones automáticas al paquete framework desde Microsoft Store. |
| paquete singleton | Contiene tareas en segundo plano, servicios, extensiones de aplicación y otros componentes no incluidos en el paquete framework, como notificaciones push. Por lo general, se trata de un único proceso de larga duración que se media entre aplicaciones. |
| paquete del Administrador de ciclo de vida de dependencias dinámicas (DDLM) | Impide que el sistema operativo realice actualizaciones de mantenimiento en los paquetes MSIX mientras se usa una aplicación empaquetada con ubicación externa o sin empaquetar. |
| Inicializador | Binario local de la aplicación utilizado por aplicaciones empaquetadas con localización externa y aplicaciones no empaquetadas para identificar y cargar la versión de Windows App SDK que mejor se ajuste según las necesidades de la aplicación. |
| Aprovisionamiento | El proceso de instalación y registro de paquetes (incluidos archivos y claves del Registro) en todo el sistema para eliminar la necesidad de instalación repetida por parte de los otros usuarios. Se puede hacer como parte del sistema operativo o hacerlo durante la instalación de una aplicación. |
| Instalador | Hace referencia al instalador de .exe que implementa los paquetes Framework, Main, Singleton y DDLM. |
| 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 equipos empresariales o compartidos, las aplicaciones se pueden instalar para todos los usuarios a través de PowerShell y MDM. |
Paquete de marco
Al compilar una aplicación que usa el Windows App SDK, 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 framework. El paquete de framework permite que las aplicaciones accedan a los componentes de Windows App SDK 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 dll y definiciones de API (COM y registros de 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 marco de trabajo, consulte Paquetes de marcos MSIX y dependencias dinámicas.
El paquete de marco de Windows App SDK es un paquete MSIX que se implementa para los usuarios finales a través de Microsoft Store. Se puede actualizar fácilmente y rápidamente con versiones de mantenimiento, lo que puede incluir correcciones de seguridad y confiabilidad. Todas las aplicaciones dependientes del marco que usan el Windows App SDK tienen una dependencia en una instancia compartida del paquete de marco, como se muestra en el diagrama siguiente.
Cuando se da soporte a una nueva versión del paquete de framework de Windows App SDK, todas las aplicaciones que dependen del framework se actualizan a la nueva versión sin necesidad de redistribuir una copia. Windows se actualiza a la versión más reciente de los frameworks a medida que se publican, y las aplicaciones harán referencia automáticamente a la última versión del paquete de frameworks al reiniciarse. Las versiones anteriores del paquete de marco no se quitarán del sistema hasta que ya no se ejecuten ni se usen activamente en las aplicaciones del sistema.
Dado que la compatibilidad de aplicaciones es importante para Microsoft y para las aplicaciones que dependen del Windows App SDK, el paquete de marco de Windows App SDK sigue Semantic Versioning 2.0.0 reglas. Esto significa que después de publicar la versión 1.0 de Windows App SDK, el paquete de la estructura de Windows App SDK garantizará la compatibilidad entre los cambios de versiones menores y de revisiones, y los cambios disruptivos solo ocurrirán entre las actualizaciones de versiones principales.
Paquete Singleton
El paquete singleton garantiza que un único proceso de ejecución prolongada pueda controlar los servicios que se usan en varias aplicaciones, que se pueden ejecutar en distintas versiones del Windows App SDK.
El singleton de Windows App SDK es necesario para habilitar las notificaciones push para aplicaciones no empaquetadas y aplicaciones Win32 empaquetadas usando versiones de Windows inferiores a la 20H1, que no son compatibles con las clases UWP existentes PushNotificationTrigger y ToastNotificationActionTrigger. Las características de Windows App SDK futuras que no se pueden admitir en el paquete framework se agregarán al paquete Singleton.
Requisitos adicionales para aplicaciones sin empaquetar
Archivos de arranque
La biblioteca de arranque debe incluirse con tu aplicación empaquetada, ubicada externamente, o con la aplicación sin empaquetar. Proporciona la API de arranque (consulte Use el entorno de ejecución de Windows App SDK para las aplicaciones empaquetadas con ubicación externa o sin empaquetar), lo que permite que las aplicaciones sin empaquetar realicen estas tareas importantes:
- Inicialice el Administrador de Duración de Dependencia Dinámica (DDLM) para el paquete del framework de Windows App SDK.
- Busque y cargue el paquete de marco de Windows App SDK en el gráfico de paquetes de la aplicación.
Para realizar estas tareas, el paquete nuget utiliza auto-inicializadores para configurar automáticamente el bootstrapper. Solo tienes que establecer <WindowsPackageType>None</WindowsPackageType> en tu archivo de proyecto. En escenarios avanzados, si quieres controlar la inicialización, puedes llamar a la API de arranque directamente en el código de inicio de la aplicación (consulta Tutorial: Usar la API de arranque en una aplicación empaquetada con ubicación externa o desempaquetada que usa el Windows App SDK) para que pueda inicializar correctamente el sistema para la aplicación sin empaquetar. La aplicación debe usar la API de inicialización antes de poder utilizar características del Windows App SDK como WinUI 3, el ciclo de vida de la aplicación, MRT Core y DWriteCore.
La biblioteca bootstrapper en la versión 1.0 del Windows App SDK incluye:
- Microsoft.WindowsAppRuntime.Bootstrap.dll (C++ y C#)
- Microsoft.WindowsAppRuntime.Bootstrap.Net.dll (contenedor de C#)
Gestor de vida útil de dependencia dinámica (DDLM)
El propósito de DDLM es evitar el mantenimiento del paquete de marco de Windows App SDK mientras está en uso por una aplicación desempaquetada. Contiene un servidor que el inicializador debe inicializar al principio del inicio de una aplicación para proporcionar esa funcionalidad.
Hay un DDLM para cada versión y arquitectura del paquete de marco de Windows App SDK. Esto significa que en un ordenador con arquitectura x64, puede tener tanto una versión x86 como una versión x64 del DDLM para admitir aplicaciones de ambas arquitecturas.
Requisitos adicionales
- En el caso de las aplicaciones empaquetadas, la dependencia del paquete de marco VCLibs es un requisito. Para obtener más información, consulta paquetes del entorno de ejecución de C++ para Desktop Bridge.
- En el caso de las aplicaciones sin empaquetar, Visual C++ Redistributable es un requisito. Para obtener más información, consulta las descargas compatibles más recientes de Microsoft Visual C++ Redistributable.
- C#. Para obtener el entorno de ejecución de .NET, consulte Download .NET.
Temas relacionados
Windows developer