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).
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).
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).
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
aIgnorableNamespaces
al final del elemento<Package>
.
- Agregue
En
<Dependencies>
, cambieTargetDeviceFamily
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 porEntryPoint="Windows.FullTrustApplication"
uap18:EntryPoint="Isolated.App"
uap18:TrustLevel="appContainer" uap18:RuntimeBehavior="appSilo"
.En las extensiones
<Application>
, quite cualquierEntryPoints=*
oExecutable=*
, ya que se heredan del elemento primario<Application>
Agregue
desktop7:Scope="user"
al elemento de extensión parawindows.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, comocomServer
oFirewallRules
, ya que estas requieren la funcionalidadrunFullTrust
.
- Agregue
<AppxOSMaxVersionTestedReplaceManifestVersion>false</AppxOSMaxVersionTestedReplaceManifestVersion>
en el archivo wapproj, justo después de las líneas de versión de la plataforma de destino
Paso 5 - Compilación y publicación de paquetes de aplicaciones
Compile la solución de Visual Studio.
Publique el paquete de aplicaciones mediante el asistente Crear paquetes de aplicaciones...
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.
Temas relacionados
Información general sobre el aislamiento de aplicaciones