Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Nota:
¿Crear una nueva aplicación WinUI 3? Ya está empaquetado automáticamente de forma predeterminada. Esta página es para desarrolladores que necesitan elegir explícitamente, normalmente al migrar una aplicación existente, implementar en máquinas empresariales o agregar características de Windows a una aplicación que no se empaquetaba originalmente.
Las aplicaciones de Windows se pueden empaquetar, desempaquetar o en algún lugar entre ellos. La elección correcta depende de dos cosas: cómo distribuir la aplicación y qué características de Windows necesita.
Comience con su escenario
"Soy un desarrollador independiente que publica en Microsoft Store"
Use una aplicación MSIX empaquetada. La Tienda requiere empaquetado MSIX. Las aplicaciones winUI 3 creadas en Visual Studio se empaquetan de forma predeterminada; no es necesario realizar ningún cambio. Obtienes una instalación limpia, actualizaciones automáticas y acceso a todas las características limitadas por "package-identity", como las notificaciones y las tareas en segundo plano.
→ Distribuir la aplicación empaquetada
"Estoy creando una aplicación empresarial implementada a través de Intune o Configuration Manager"
Iniciar empaquetado; considere la ubicación externa si tiene un instalador existente.
- Si usted está desarrollando una nueva aplicación, use MSIX. Se integra limpiamente con Intune y SCCM/ConfigMgr y proporciona una identidad de paquete completa.
- Si tiene una aplicación existente con su propio instalador que no puede reemplazar, utilice empaquetado con ubicación externa. Esto proporciona a la aplicación una identidad de paquete y acceso a funciones como notificaciones y tareas en segundo plano, sin alterar cómo o dónde se despliega.
- Si la aplicación realmente no necesita funciones limitadas por identidad de Windows y controla el entorno de implementación, el uso sin empaquetar funciona, pero encontrará un obstáculo la primera vez que intente agregar notificaciones o características de IA.
→ Implementar aplicaciones empaquetadas (WINDOWS App SDK)
→ Conceder identidad de paquete mediante el empaquetado con ubicación externa
"Soy un ISV que envía una descarga directa con mi propio instalador"
Utilice el embalaje con ubicación externa (anteriormente denominado paquetes dispersos).
Este es el punto óptimo para las aplicaciones Win32/WPF/WinForms existentes que se distribuyen a través de su propio instalador (NSIS, WiX, InstallShield, etc.) y no quieren reemplazarlo por MSIX. Registras un paquete de identidad ligero junto con tu instalador existente, los archivos binarios permanecen en su lugar y desbloqueas el conjunto completo de características de Windows limitadas por la identidad del paquete.
Los usuarios no verán ningún cambio en cómo instalan o actualizan la aplicación. Obtienes las características de Windows; ellos obtienen una experiencia familiar.
→ Conceder identidad de paquete mediante el empaquetado con ubicación externa
→ Agregar un paquete de identidad en Visual Studio
"Estoy creando una herramienta interna o una utilidad para desarrolladores"
Desempaquetado está bien, con advertencias.
Las aplicaciones sin empaquetar son las más sencillas de compilar e implementar: xcopy, robocopy o un script simple es todo lo que necesita. El SDK de aplicaciones de Windows funciona en aplicaciones sin empaquetar a través de NuGet. Pero algunas características no estarán disponibles y, si más adelante decide que las necesita, implementar la identidad del paquete no es trivial.
Antes de comprometerse al estado no empaquetado, compruebe la tabla de características a continuación en la hoja de ruta. Si las notificaciones, las tareas en segundo plano o las API de IA están en el horizonte, considere adoptar un enfoque empaquetado.
Empaquetamiento de modelos de un vistazo
| Modelo | Identidad del paquete | Instalador | Apto para almacenamiento | Más adecuado para |
|---|---|---|---|---|
| Empaquetado (MSIX) | ✅ Sí | MSIX reemplaza el instalador | ✅ Sí | Nuevas aplicaciones, publicación en la Tienda, MDM empresarial |
| Empaquetado con ubicación externa | ✅ Sí | El instalador existente | ❌ No | Aplicaciones existentes que tienen su propio instalador, vendedores de software independientes |
| Desempaquetado | ❌ No | XCopy/script | ❌ No | Herramientas internas, utilidades de desarrollo, escenarios sencillos |
Características que requieren la identidad del paquete
Estas características de Windows solo funcionan en aplicaciones que tienen identidad de paquete, ya sea a través del empaquetado completo de MSIX o del empaquetado con ubicación externa.
| Feature | Notas |
|---|---|
| Notificaciones de aplicaciones (notificación emergente) |
AppNotificationManager requiere la identidad del paquete |
| Tareas en segundo plano | El registro requiere la identidad del paquete |
| API de Inteligencia artificial de Windows (PhiLice, OCR, etc.) | La mayoría de las API de IA de Windows requieren la identidad del paquete |
| Notificaciones push (WNS) | El registro del canal requiere la identidad del paquete |
| Destino de compartición | Declarado en el manifiesto del paquete |
| Extensiones de menú contextual personalizadas | Declarado en el manifiesto del paquete |
| Asociaciones de protocolo y tipo de archivo | Las asociaciones enriquecidas requieren la identidad del paquete |
| Tareas de inicio | Requiere la identidad del paquete |
| App Services | Requiere la identidad del paquete |
Sugerencia
Si está desempaquetado y se producen errores al llamar a las API de Windows, eso se debe al requisito de identidad del paquete. Vea empaquetado con ubicación externa como la solución de mínima resistencia.
Empaquetado con ubicación externa
El empaquetado con ubicación externa (también denominados paquetes dispersos) permite registrar un paquete de identidad pequeño junto con la aplicación existente, sin cambiar el instalador, las ubicaciones binarias ni el proceso de actualización. Se introdujo en Windows 10 versión 2004 (compilación 19041).
Proporcione lo siguiente:
- Un manifiesto de paquete (archivo XML que describe la identidad de la aplicación)
- Un firmado
.msixque contiene solo el manifiesto (sin archivos binarios)
El instalador existente registra este paquete de identidad y Windows trata a la aplicación como una identidad de paquete desde ese momento.
Esto es distinto del empaquetado MSIX completo:
| MSIX | Ubicación externa | |
|---|---|---|
| Reemplaza el instalador. | Sí | No |
| Archivos binarios dentro del paquete | Sí | No (externo) |
| Apto para almacenamiento | Sí | No |
| Identidad del paquete | Sí | Sí |
| Mecanismo de actualización | Actualización de MSIX | El mecanismo existente |
Tutorial completo: Otorgar la identidad del paquete mediante el empaquetado con ubicación externa
Despliegue dependiente del framework frente a despliegue autónomo
Independientemente del modelo de empaquetado, las aplicaciones que usan el SDK de aplicaciones de Windows eligen cómo llevar sus dependencias en tiempo de ejecución:
- Dependiente del marco: el entorno de ejecución de Windows App SDK debe estar instalado en el equipo del usuario. Huella de la aplicación más pequeña; depende de que el runtime esté presente o se instale automáticamente.
- Independiente: todos los archivos binarios del SDK de aplicaciones de Windows se envían con la aplicación. Superficie mayor; ningún requisito de tiempo de ejecución externo. Adecuado para entornos empresariales bloqueados.
→ Implementación de aplicaciones independientes
Contenido relacionado
Windows developer