Contenitore di pacchetti condivisi

I contenitori di pacchetti condivisi consentono ai professionisti IT di creare un contenitore di runtime condiviso per un'applicazione in pacchetto, condividendo una visualizzazione unita del file system virtuale e del Registro di sistema virtuale, consentendo l'accesso ai file radice e allo stato del pacchetto di un altro utente. A partire da Windows 10 Insider Preview Build 21354, i professionisti IT saranno in grado di gestire quali app possono trovarsi in quale contenitore è importante per la conversione di MSIX da programmi di installazione legacy. Il concetto di contenitore condiviso viene usato principalmente per la personalizzazione, la condivisione del software prerequisito e il supporto di componenti aggiuntivi per le app convertite. Si noti che si tratta di una funzionalità solo aziendale e richiederà privilegi amministrativi da usare.

Le operazioni del contenitore di pacchetti condivisi sono indipendenti da operazioni di distribuzione delle app. Ciò significa che le app non devono essere installate prima della distribuzione della definizione del contenitore del pacchetto in un dispositivo. Significa anche che non tutte le app definite all'interno del contenitore di pacchetti condivisi devono essere installate per l'esecuzione del contenitore di pacchetti condivisi. Le app all'interno del contenitore di pacchetti condivisi potranno essere aggiornate in modo indipendente senza dover modificare la definizione del contenitore del pacchetto condiviso.

Si noti che un'app sarà consentita solo all'interno di un contenitore. La distribuzione di un contenitore di pacchetti condivisi che contiene un'app che fa già parte di un contenitore di pacchetti condivisi genererà un errore.

Prerequisito

Per usare la funzionalità, le aziende richiederanno un amministratore nel dispositivo. Inoltre, i pacchetti dovranno essere tutti pacchetti msix. Per creare un pacchetto dei programmi di installazione come pacchetto MSIX, visitare la documentazione relativa alla creazione del pacchetto dal programma di installazione esistente.

Definizione del contenitore di pacchetti condivisi

Il contianer del pacchetto condiviso è definito da un file xml. La definizione del contenitore richiede un nome univoco e un elenco di pacchetti che appartengono a tale contenitore. Solo i pacchetti principali devono essere inclusi in .xml. I pacchetti facoltativi e i pacchetti di modifica verranno inclusi automaticamente nel contenitore di pacchetti condivisi, perché condividono già lo stesso contenitore del pacchetto principale. Si noti che la priorità dei pacchetti viene stabilita dall'alto alla fine dell'elenco. Ciò significa che il pacchetto superiore avrà la priorità più alta. La priorità del pacchetto viene usata per le risoluzioni dei conflitti tra i pacchetti che possono avere gli stessi file. Di seguito è riportato un esempio di uno.

<?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>   

Quando si dispone della definizione di contenitore .xml, è possibile usare i comandi di PowerShell seguenti per distribuire, reimpostare, aggiornare e rimuovere un contenitore di pacchetti condivisi dal dispositivo. Si noti che tutti gli altri comandi di distribuzione delle app rimangono invariati (ad esempio l'installazione di pacchetti)

Comandi di PowerShell

Distribuire una definizione di contenitore del pacchetto condiviso

Add-AppSharedPackageContainer <path> 

Questo comando distribuisce il contenitore del pacchetto condiviso definito per l'utente specifico. I parametri facoltativi includono quanto segue:

Parametro Descrizione
ForceApplicationShutdown Chiude tutti i pacchetti attualmente in esecuzione nel contenitore di pacchetti condivisi.

Rimuovere un contenitore di pacchetti condivisi

Remove-AppSharedPackageContainer -Name <name>  

Questo comando rimuove il definiton del contenitore del pacchetto condiviso per l'utente specifico. I parametri facoltativi includono quanto segue:

Parametro Descrizione
ForceApplicationShutdown Chiude tutti i pacchetti nel contenitore di pacchetti condivisi.

Ottenere informazioni su un contenitore di pacchetti condivisi

Get-AppSharedPackageContainer -Name <name> 

Questo comando ottiene informazioni sul contenitore di pacchetti condivisi. In particolare, mostrerà quali pacchetti si trovano all'interno del contenitore di pacchetti condivisi.

Reimpostare il contenitore di pacchetti condivisi

Reset-AppSharedPackageContainer -Name <name>  

Questo comando elimina definitivamente tutti i dati dell'applicazione del contenitore, inclusi i file virtuali e le chiavi del Registro di sistema.