Contenedor de paquetes compartidos

Los contenedores de paquetes compartidos permiten a los profesionales de TI crear un contenedor en tiempo de ejecución compartido para la aplicación empaquetada, que comparte una vista combinada del sistema de archivos virtual y el registro virtual, lo que permite el acceso a los archivos raíz y el estado del paquete. A partir de Windows 10 Insider, compilación preliminar 21354, los profesionales de TI podrán administrar qué aplicaciones pueden estar en qué contenedor. Esto es importante para la conversión de MSIX desde instaladores heredados. El concepto de contenedor compartido se usa principalmente para la personalización, el uso compartido de software de requisitos previos y los complementos auxiliares para las aplicaciones convertidas. Tenga en cuenta que se trata de una característica solo empresarial y requerirá privilegios administrativos para poder usarse.

Las operaciones de contenedor de paquetes compartidos son independientes de las operaciones de implementación de aplicaciones. Esto significa que las aplicaciones no tienen que instalarse antes de compartir la definición del contenedor de paquetes que se implementa en un dispositivo. También significa que no todas las aplicaciones definidas dentro del contenedor de paquetes compartidos deben instalarse para que se ejecute el contenedor de paquetes compartidos. Las aplicaciones dentro del contenedor de paquetes compartidos podrán actualizarse de forma independiente sin tener que modificar la definición del contenedor de paquetes compartidos.

Tenga en cuenta que solo se permitirá que una aplicación esté dentro de un contenedor. La implementación de un contenedor de paquetes compartidos que contenga una aplicación que ya forme parte de un contenedor de paquetes compartidos producirá un error.

Requisito previo

Para usar la característica, las empresas requerirán un administrador en el dispositivo. Además, todos los paquetes deberán ser de tipo .msix. Para empaquetar los instaladores como paquete MSIX, visite nuestra sección Creación de un paquete a partir de la documentación existente del instalador.

Definición de contenedor de paquetes compartidos

El contenedor de paquetes compartidos se define mediante un archivo .xml. La definición de contenedor requiere un nombre único y una lista de paquetes que pertenecen a ese contenedor. Solo es necesario incluir paquetes principales en el archivo .xml. Los paquetes opcionales y los paquetes de modificación se incluirán automáticamente en el contenedor de paquetes compartidos, puesto que ya comparten el mismo contenedor que su paquete principal. Tenga en cuenta que la prioridad de los paquetes se establece de arriba abajo en la lista. Lo que significa que el paquete superior tendrá la prioridad más alta. La prioridad del paquete se usa para resolver conflictos entre paquetes que pueden tener los mismos archivos. A continuación se muestra un ejemplo.

<?xml version="1.0" encoding="utf-8"?> 
<AppSharedPackageContainer Name="ContosoContainer"> 
  <PackageFamily Name="Fabrikam.MainApp_8wekyb3d8bbwe"/> 
  <PackageFamily Name="Contoso.MainApp_8wekyb3d8bbwe"/> 
  <PackageFamily Name="ContosoCustomize_7xekyb3d8ccde"/> 
</AppSharedPackageContainer>   

Cuando tenga la definición de contenedor .xml, puede usar los siguientes comandos de PowerShell para implementar, restablecer, actualizar y quitar un contenedor de paquetes compartidos del dispositivo. Tenga en cuenta que el resto de comandos de implementación de la aplicación siguen siendo los mismos (es decir, la instalación de paquetes).

Comandos de PowerShell

Implementación de una definición del contenedor de paquetes compartidos

Add-AppSharedPackageContainer <path> 

Este comando implementa la definición del contenedor de paquetes compartidos para el usuario determinado. Entre los parámetros opcionales se incluyen los siguientes:

Parámetro Descripción
ForceApplicationShutdown Cierra todos los paquetes que se ejecutan actualmente en el contenedor de paquetes compartidos.

Eliminación de un contenedor de paquetes compartidos

Remove-AppSharedPackageContainer -Name <name>  

Este comando elimina la definición del contenedor de paquetes compartidos para el usuario determinado. Entre los parámetros opcionales se incluyen los siguientes:

Parámetro Descripción
ForceApplicationShutdown Cierra todos los paquetes del contenedor de paquetes compartidos.

Obtención de información sobre un contenedor de paquetes compartidos

Get-AppSharedPackageContainer -Name <name> 

Este comando obtiene información sobre el contenedor de paquetes compartidos. En concreto, mostrará qué paquetes están dentro del contenedor de paquetes compartidos.

Restablecimiento del contenedor de paquetes compartidos

Reset-AppSharedPackageContainer -Name <name>  

Este comando destruye todos los datos de aplicaciones del contenedor, incluidos los archivos virtuales y las claves del registro.