Compartir a través de


Empaquetado de una aplicación de aislamiento de aplicaciones Win32 con Visual Studio

Este documento contiene todo lo necesario para empaquetar una aplicación para aprovechar el aislamiento de aplicaciones Win32.

Importante

Esta característica está en versión preliminar: parte de la información hace referencia al producto de versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.

Requisitos previos necesarios

Los siguientes requisitos previos son necesarios para empaquetar una aplicación en una aplicación Win32 aislada:

  • Visual Studio versión 17.10.2 o superior

Paso 1 - Instalación de las cargas de trabajo necesarias en Visual Studio, incluido el SDK de Windows 11 10.0.26100.0 (o superior)

Abra el instalador de Visual Studio y modifique la instalación existente. En la pestaña Cargas de trabajo, active la casilla Desarrollo de aplicaciones de Windows (y, opcionalmente, active la casilla Herramientas de desarrollo de aplicaciones WinUI de C++ para el desarrollo en C++). También se requiere el SDK de Windows 11 10.0.26100.0 (o superior).

Captura de pantalla que muestra las cargas de trabajo necesarias que se van a instalar en Visual Studio

Paso 2 - Creación del proyecto de aplicación

En Visual Studio, cree un proyecto de C# o C++ utilizando la plantilla Aplicación en blanco, empaquetada con el proyecto de empaquetado de aplicaciones de Windows (WinUI 3 en escritorio). Haga clic en Crear y seleccione 10.0.26100.0 (o posterior) para Versión de plataforma de destino (TPV) y Versión mínima de plataforma de destino (TPMinV).

Captura de pantalla que muestra una plantilla para una aplicación en blanco con un proyecto de empaquetado de Windows en Visual Studio

Captura de pantalla que muestra la pantalla Nuevo proyecto en Visual Studio

Captura de pantalla que muestra la pantalla Nuevo proyecto de WinUI en Visual Studio

Paso 3: Instalación de Microsoft.Windows.SDK.BuildTools versión 10.0.26100.1742 o posterior con NuGet

Vaya a Proyecto-> Administrar paquetes NuGet para instalar Microsoft.Windows.SDK.BuildTools versión 10.0.26100.1 (o posterior).

Captura de pantalla que muestra la pantalla de administración de paquetes NuGet en Visual Studio

Captura de pantalla que muestra el paquete Microsoft.Windows.SDK.BuildTools en la pantalla NuGet en Visual Studio

Captura de pantalla que muestra la información del paquete Build Tools en la pantalla NuGet en Visual Studio

Paso 4: Editar los archivos packaging.appxmanifest y de proyecto

En el archivo manifiesto, es necesario realizar los siguientes cambios:

Nota. las aplicaciones win32 aisladas no son compatibles con otros tipos de aplicación dentro del mismo paquete.

  • Agregue xmlns:uap18="http://schemas.microsoft.com/appx/manifest/uap/windows10/18" al elemento <Package> si aún no está ahí.

    • Agregue uap18 a IgnorableNamespaces al final del elemento <Package>.
  • En <Dependencies>, cambie TargetDeviceFamily por <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.26100.0" MaxVersionTested="10.0.26226.0" />.

    Nota:

    No todas las características están disponibles en la compilación mínima, consulte las notas de la versión para obtener información más detallada. Además, los siguientes cambios de manifiesto permiten que la aplicación se convierta en una aplicación aislada, pero puede seguir ejecutándose como una aplicación Win32 en sistemas operativos en los que no se admite el aislamiento de la aplicación Win32.

  • En <Application> reemplace cualquier punto de entrada/nivel de confianza/comportamiento en tiempo de ejecución existente por EntryPoint="Windows.FullTrustApplication"uap18:EntryPoint="Isolated.App"uap18:TrustLevel="appContainer" uap18:RuntimeBehavior="appSilo".

  • En las extensiones <Application>, quite cualquier EntryPoints=* o Executable=*, ya que se heredan del elemento primario <Application>

  • Agregue desktop7:Scope="user" al elemento de extensión para windows.protocol.

    Nota:

    De forma predeterminada, Visual Studio se agregará automáticamente <rescap:Capability name="runFullTrust"> a <Capabilities> porque se trata de una aplicación win32 empaquetada. Esto debe quitarse a menos que la aplicación tenga otras extensiones de manifiesto que puedan afectar al estado global del usuario, como comServer o FirewallRules, ya que estas requieren la funcionalidad runFullTrust.

Captura de pantalla que muestra la configuración de la aplicación de empaquetado en Visual Studio

  • Agregue <AppxOSMaxVersionTestedReplaceManifestVersion>false</AppxOSMaxVersionTestedReplaceManifestVersion> en el archivo wapproj, justo después de las líneas de versión de la plataforma de destino Captura de pantalla que muestra la configuración del archivo de proyecto en Visual Studio

Paso 5 - Compilación y publicación de paquetes de aplicaciones

Compile la solución de Visual Studio.

Captura de pantalla que muestra la compilación de la solución en Visual Studio

Publique el paquete de aplicaciones mediante el asistente Crear paquetes de aplicaciones...

Captura de pantalla que muestra el Asistente para crear paquetes de aplicaciones en Visual Studio

Captura de pantalla que muestra el paso de creación en el Asistente para paquetes de aplicaciones en Visual Studio

Después de publicar los paquetes de aplicación, la ubicación de salida que se muestra muestra el directorio raíz donde la versión publica el paquete MSIX. Ábralo en la carpeta de version para buscar el archivo Install.ps1 para instalar la aplicación.

Captura de pantalla que muestra que el asistente creó correctamente el empaquetado en Visual Studio

Información general sobre el aislamiento de aplicaciones

Generador de perfiles de funcionalidad de aplicación

Empaquetado de una aplicación Win32 aislada con MSIX