Container für freigegebene Container

Container mit gemeinsam genutzten Paketen ermöglichen IT-Profis das Erstellen eines Shared Runtime-Containers für eine msix-gepackte Anwendung – freigabe einer zusammengeführten Ansicht des virtuellen Dateisystems und der virtuellen Registrierung – und ermöglichen den Zugriff auf die Paketstammdateien und den Zustand des anderen. Ab Windows 10 Insider Preview Build 21354 können IT-Profis verwalten, welche Apps in welchem Container für die Konvertierung von MSIX aus Legacyinstallationsprogrammen wichtig sind. Das Konzept eines freigegebenen Containers wird in erster Linie für die Anpassung, die Freigabe der erforderlichen Software und die Unterstützung von Add-Ons für konvertierte Apps verwendet. Beachten Sie, dass es sich dabei um ein nur für Unternehmen bestimmtes Feature handelt, für das Administratorrechte erforderlich sind.

Containervorgänge mit freigegebenen Paketen sind unabhängig von App-Bereitstellungsvorgängen. Dies bedeutet, dass Apps nicht installiert werden müssen, bevor die Paketcontainerdefinition auf einem Gerät bereitgestellt wird. Dies bedeutet auch, dass nicht alle Apps, die innerhalb des freigegebenen Paketcontainers definiert sind, installiert werden müssen, damit der container für freigegebene Pakete ausgeführt werden kann. Die Apps im Container für freigegebene Pakete können unabhängig aktualisiert werden, ohne die Containerdefinition für freigegebene Pakete ändern zu müssen.

Beachten Sie, dass eine App nur innerhalb eines Containers sein darf. Das Bereitstellen eines freigegebenen Paketcontainers, der eine App enthält, die bereits Teil eines freigegebenen Paketcontainers ist, führt zu einem Fehler.

Voraussetzung

Um das Feature verwenden zu können, benötigen Unternehmen einen Administrator auf dem Gerät. Darüber hinaus müssen alle Pakete MSIX-Pakete sein. Um Ihre Installationsprogramme als MSIX-Paket zu verpacken, besuchen Sie unsere Dokumentation zum Erstellen eines Pakets aus dem vorhandenen Installationsprogramm.

Containerdefinition für freigegebene Pakete

Der Kontinuer für freigegebene Pakete wird durch eine .xml definiert. Die Containerdefinition erfordert einen eindeutigen Namen und eine Liste von Paketen, die zu diesem Container gehören. Nur Hauptpakete müssen in den Paketen .xml. Optionale Pakete und Änderungspakete werden automatisch in den Container für freigegebene Pakete aufgenommen, da sie bereits denselben Container wie das Hauptpaket verwenden. Beachten Sie, dass die Priorität der Pakete von oben nach unten in der Liste festgelegt wird. Dies bedeutet, dass das oberste Paket die höchste Priorität hat. Die Priorität des Pakets wird für Konfliktauflösungen zwischen Paketen verwendet, die möglicherweise die gleichen Dateien haben. Im Folgenden finden Sie ein Beispiel für ein Beispiel.

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

Wenn Sie über die Containerdefinitionsdefinition .xml, können Sie die folgenden PowerShell-Befehle verwenden, um einen freigegebenen Paketcontainer auf dem Gerät bereitzustellen, zurückzusetzen, zu aktualisieren und zu entfernen. Beachten Sie, dass alle anderen App-Bereitstellungsbefehle unverändert bleiben (d. h. Installieren von Paketen)

PowerShell-Befehle

Bereitstellen einer freigegebenen Paketcontainerdefinition

Add-AppSharedPackageContainer <path> 

Mit diesem Befehl wird der Container mit freigegebenen Paketen für den jeweiligen Benutzer bereitgestellt. Optionale Parameter umfassen Folgendes:

Parameter Beschreibung
RequirePackagePresent Schlägt fehl, wenn für den Benutzer kein vom Container angegebenes Paket registriert ist.
ForceApplicationShutdown Schließt alle Pakete, die derzeit im Container für freigegebene Pakete ausgeführt werden.
ProvisionForAllUsers Stellen Sie den Container für alle Benutzer zur Verfügung.

Entfernen eines freigegebenen Paketcontainers

Remove-AppSharedPackageContainer -Name <name>  

Dieser Befehl entfernt die Definition des freigegebenen Paketcontainers für den jeweiligen Benutzer. Optionale Parameter umfassen Folgendes:

Parameter Beschreibung
ForceApplicationShutdown Schließt alle Pakete im Container für freigegebene Pakete.
AllUsers Entfernen Sie übereinstimmende Pakete, die für beliebige Benutzer bereitgestellt werden.
DeprovisionForAllUsers Der Container wird für alle Benutzer nicht mehr zur Verfügung stellen.

Informationen zu einem freigegebenen Paketcontainer

Get-AppSharedPackageContainer -Name <name> 

Dieser Befehl ruft Informationen zum Container für freigegebene Pakete ab. Insbesondere wird gezeigt, welche Pakete sich innerhalb des freigegebenen Paketcontainers befinden. Optionale Parameter umfassen Folgendes:

Parameter Beschreibung
AllUsers Sie erhalten übereinstimmende Pakete, die entweder für einen benutzer- oder auf dem Computer bereitgestellt werden.

Zurücksetzen des Containers für freigegebene Pakete

Reset-AppSharedPackageContainer -Name <name>  

Dieser Befehl zerstört alle Anwendungsdaten des Containers, einschließlich der virtuellen Dateien und Registrierungsschlüssel.