DISM App-Paket (.appx or .appxbundle) Wartungs-Befehlszeilenoptionen

Sie können App-Paketwartungsbefehle verwenden, um bereitgestellte App-Pakete (.appx oder .appxbundle) in einem Windows-Image hinzuzufügen, zu entfernen und aufzulisten. Ein .appxbundle ist eine Sammlung von App- und Ressourcenpaketen, die zusammen verwendet werden, um die App-Erfahrung zu erweitern, während der Speicherplatzbedarf auf einem gegebenen PC minimiert wird. Ausführliche Informationen zu .appxbundle-Paketen und der Microsoft Store-Pipeline finden Sie unter App-Paketierung. Wenn ein Bundle mithilfe von DISM bereitgestellt wird, kann dem Image gegebenenfalls nur eine Teilmenge der Pakete in einem .appxbundle hinzugefügt werden. Weitere Informationen finden Sie unter Verstehen, wie DISM .apxbundle-Ressourcenpakete zu einem Image hinzufügt.

Bereitgestellte App-Pakete werden zu einem Windows-Image hinzugefügt und anschließend für jedes neue oder vorhandene Benutzerprofil bei der nächsten Anmeldung des Benutzers installiert. Weitere Informationen, einschließlich der Anforderungen für die Bereitstellung von App-Paketen, finden Sie unter Apps mit DISM querladen.

Sie können auch PowerShell verwenden, um App-Pakete (.appx oder .appxbundle) pro Image oder pro Benutzer in einer Windows-Installation hinzuzufügen, zu entfernen und aufzulisten. Weitere Informationen finden Sie unter "Deployment Imaging Servicing Management" (DISM)-Cmdlets in Windows PowerShell und App-Installations-Cmdlets in Windows PowerShell.

DISM-Wartungssyntax

Die Basissyntax für die Wartung eines Windows-Images mit DISM lautet:

DISM.exe {/Image:<path_to_image_directory>|/Online} [dism_global_options] {servicing_option} <servicing_argument>]

Optionen für Offlineimages

Für ein Offlineimage stehen die folgenden App-Paket (.appx oder .appxbundle) Wartungsoptionen Verfügung.

DISM.exe /Image:<path_to_image_directory> [/Get-ProvisionedAppxPackages | /Add-ProvisionedAppxPackage | /Remove-ProvisionedAppxPackage | /Set-ProvisionedAppxDataFile | /StubPackageOption]

Optionen für Onlineimages

Für ein laufendes Betriebssystem stehen die folgenden App-Paket (.appx oder .appxbundle) Wartungsoptionen Verfügung.

DISM.exe /Online [/Get-ProvisionedAppxPackages | /Add-ProvisionedAppxPackage | /Remove-ProvisionedAppxPackage | /Set-ProvisionedAppxDataFile | /StubPackageOption]

/Get-Help /?

Wenn dieser Befehl unmittelbar nach einer App-Paket Wartungsbefehlszeilen-Option verwendet wird, werden Informationen zu der Option und den Argumenten angezeigt. Gegebenenfalls werden weitere Themen werden verfügbar, wenn ein Image angegeben ist.

Dism /image:C:\test\offline /Add-ProvisionedAppxPackage /?
Dism /online /Get-ProvisionedAppxPackages /?

/Get-ProvisionedAppxPackages

Zeigt Informationen zu App-Paketen (.appx oder .appxbundle) in einem Image an, die für jeden neuen Benutzer installiert werden sollen.

Dism /Image:C:\test\offline /Get-ProvisionedAppxPackages

/Add-ProvisionedAppxPackage

Fügt ein oder mehrere App-Paketen zum Image hinzu.

Die App wird zum Windows-Image hinzugefügt und für jedes vorhandene oder neue Benutzerprofil beim nächsten Anmelden des Benutzers registriert. Wenn die App zu einem Onlineimage hinzugefügt wird, wird die App erst bei der nächsten Anmeldung für den aktuellen Benutzer registriert.

Stellen Sie Apps auf einem Onlinebetriebssystem im Überwachungsmodus bereit, sodass geeignete Hardlinks für Apps erstellt werden können, welche die selben Dateien enthalten (um die Speicherplatznutzung zu minimieren), während außerdem für eine erfolgreiche Installation sichergestellt wird, dass keine Apps ausgeführt werden.

Syntax:

dism.exe /Add-ProvisionedAppxPackage {/FolderPath:<App_folder_path> [/SkipLicense\] [/CustomDataPath:<custom_file_path>]  /PackagePath:<main_package_path> [/DependencyPackagePath:<dependency_package_path>] {[/LicensePath:<license_file_path>] [/SkipLicense\]} [/CustomDataPath:<custom_file_path>]} [/Region:<region>]
  • Verwenden Sie /FolderPath zum Angeben eines Ordners von entpackten App-Dateien mit einem Hauptpaket, allen Abhängigkeitspaketen und der Lizenzdatei. Dies wird nur bei einem ungepackten App-Paket unterstützt.

  • Verwenden Sie /PackagePath, um ein App-Paket (.appx oder .appxbundle) anzugeben. Sie können /PackagePath beim online Bereitstellen einer branchenspezifischen App verwenden.

    Wichtig

    Verwenden Sie den /PackagePath Parameter, um .appxbundle-Pakete bereitzustellen. Außerdem können Abhängigkeitspakete nicht mit /PackagePath bereitgestellt werden, sie müssen mit dem /DependencyPackagePath Parameter für eine App bereitgestellt werden.

  • /PackagePath wird nicht von einem Host-PC unterstützt, der Windows Preinstallation Environment (WinPE) 4.0, Windows Server 2008 R2 oder eine frühere Version von Windows ausführt.

  • Benutzen Sie /Region um anzugeben, in welchen Regionen ein App-Paket (.appx oder .appxbundle) bereitgestellt werden muss. Das Regionsargument kann eines der folgenden sein:

    • all, mit dem Hinweis, dass die App für alle Regionen bereitgestellt werden soll, oder
    • Eine Semikolon-getrennte Liste von Regionen. Die Regionen werden in Form von ISO 3166-1 Alpha-2- oder ISO 3166-1 Alpha-3-Codes aufgeführt sein. Beispielsweise können die USA entweder als "US" oder "USA" (Groß- und Kleinschreibung beachten) angegeben werden. Wenn keine Liste von Regionen angegeben wird, wird das Paket nur bereitgestellt, wenn es an das Startlayout angeheftet ist.
  • Verwenden Sie /DependencyPackagePath, um jedes für die Bereitstellung der App erforderliche Abhängigkeitspaket anzugeben. Die erforderlichen Abhängigkeitspakete einer App finden Sie, indem Sie die <PackageDependency> Elemente in der AppxManifest.xml im Stamm des .appx-Pakets der App betrachten. Wenn mehrere Apps dieselbe Abhängigkeit teilen, sollte die neueste Nebenversion von jeder einzelnen Hauptversion des Abhängigkeitspakets installiert werden. Beispielsweise verfügen App1, App2 und App3 über eine Abhängigkeit von Microsoft.NET.Native.Framework. App1 gibt Microsoft.NET.Native.Framework.1.6 mit Nebenversion 25512.0 an, App2 gibt Microsoft.NET.Native.Framework.1.6 mit Nebenversion 25513.0 an, und App3 gibt Microsoft.NET.Native.Framework.1.3 mit Nebenversion 24202.0 an. Da sowohl App1 als auch App2 die gleiche Hauptversion des Abhängigkeitspakets angeben, sollte nur die neueste Nebenversion 25513.0 installiert werden, während App3 eine andere Hauptversion des Abhängigkeitspakets angibt, sodass dieses auch installiert werden muss. Also sind die Abhängigkeitspakete, die installiert werden sollten, Microsoft.NET.Native.Framework.1.6 mit Nebenversion 25513.0 und Microsoft.NET.Native.Framework.1.3 mit Nebenversion 24202.0.

    Wenn das Paket Abhängigkeiten aufweist, die architekturspezifisch sind, müssen Sie alle anwendbaren Architekturen für die Abhängigkeit des Zielimages installieren. Beziehen Sie z. B. in einem x64-Zielimage sowohl einen Pfad zu den x86-, als auch zu den x64-Abhängigkeitspaketen ein, oder fügen Sie beide in den Ordner der entpackten App-Dateien ein. Wenn auch das Arm-Abhängigkeitspaket angegeben oder enthalten ist, wird DISM es ignorieren, da es nicht auf das Ziel x64-Image anwendbar ist.

    ComputerarchitekturZu installierende Abhängigkeiten:
    x64x64 und x86
    x86x86
    ArmNur Arm
  • Verwenden Sie /CustomDataPath, um eine optionale benutzerdefinierte Datendatei für eine App anzugeben. Sie können einen beliebigen Dateinamen angeben. Die Datei wird in Custom.dat umbenannt, wenn sie dem Image hinzugefügt wird.

  • Verwenden Sie /LicensePath mit der /PackagePath Option, um den Speicherort der .xml Datei anzugeben, welche Ihre Anwendungslizenz enthält.

  • Verwenden Sie /SkipLicense nur mit Apps, die keine Lizenz auf einem querladenden Computer benötigen. Die Verwendung von /SkipLicense in anderen Szenarien kann ein Image kompromittieren.

Beispiele:

Dism /Image:C:\test\offline /Add-ProvisionedAppxPackage /FolderPath:c:\Test\Apps\MyUnpackedApp /CustomDataPath:c:\Test\Apps\CustomData.xml
Dism /Online /Add-ProvisionedAppxPackage /PackagePath:C:\Test\Apps\MyPackedApp\MainPackage.appx /DependencyPackagePath:C:\Test\Apps\MyPackedApp\Framework-x86.appx /DependencyPackagePath:C:\Test\Apps\MyPackedApp\Framework-x64.appx /LicensePath:C:\Test\Apps\MyLicense.xml
Dism /Online /Add-ProvisionedAppxPackage /FolderPath:C:\Test\Apps\MyUnpackedApp /SkipLicense
Dism /Image:C:\test\offline /Add-ProvisionedAppxPackage /PackagePath:C:\Test\Apps\MyPackedApp\MainPackage.appxbundle /SkipLicense
Dism /Online /Add-ProvisionedAppxPackage /PackagePath:C:\Test\Apps\MyPackedApp\MainPackage.appxbundle /Region:"all"
Dism /Online /Add-ProvisionedAppxPackage /PackagePath:C:\Test\Apps\MyPackedApp\MainPackage.appxbundle /Region:"US;GB"

/Remove-ProvisionedAppxPackage

Entfernt die Bereitstellung für App-Pakete (.appx oder .appxbundle) aus dem Image. App-Pakete werden nicht für Benutzerkonten registriert, die neu erstellt werden.

Syntax:

/Remove-ProvisionedAppxPackage /PackageName:<PackageName>

Wichtig

Diese Option wird die Bereitstellung für ein Paket nur entfernen, wenn es für ein beliebiges Benutzerprofil registriert ist. Verwenden Sie das Cmdlet Remove-AppxPackage in PowerShell, um die App für jeden Benutzer zu entfernen, der bereits registriert ist, um die App vollständig aus dem Image zu entfernen. Wenn die App für kein Benutzerprofil registriert wurde, wird die /Remove-ProvisionedAppxPackage Option das Paket vollständig entfernen. Um App-Pakete von einem Windows Server 2012-Image oder höher zu entfernen, bei welchem die Desktopdarstellung installiert ist, müssen Sie die App-Pakete entfernen, bevor Sie die Desktopdarstellung entfernen. Die Desktopdarstellung ist eine Voraussetzung der /Remove-ProvisionedAppxPackage Option für Server Core-Installationen von Windows Server.

Beispiel:

Dism /Image:C:\test\offline /Remove-ProvisionedAppxPackage /PackageName:microsoft.devx.appx.app1_1.0.0.0_neutral_ac4zc6fex2zjp

/Optimize-ProvisionedAppxPackages

Optimiert die Gesamtdateigröße der bereitgestellten Pakete auf dem Image, indem identische Dateien durch Hardlinks ersetzt werden. Sobald ein Bild mit bereitgestellten AppX-Paketen online ist, /optimize-provisionedappxpackages können die bereitgestellten AppX-Pakete nicht optimiert werden. Wenn Sie ein Image offline erstellen und Pakete hinzufügen, werden nur die Pakete optimiert, die bereitgestellt werden, nachdem das Image wieder offline genommen wurde.

Dieser Befehl wird nicht für ein Onlineimage unterstützt.

DISM.exe /Image:C:\test\offline /Optimize-ProvisionedAppxPackages

/Set-ProvisionedAppxDataFile

Fügt dem angegebenen App-Paket (.appx oder .appxbundle) eine benutzerdefinierte Datendatei hinzu.

Syntax

/Set-ProvisionedAppxDataFile [/CustomDataPath<custom_file_path>] /PackageName<PackageName>

Das angegebene App-Paket (.appx oder .appxbundle) muss bereits dem Image hinzugefügt werden, bevor Sie die benutzerdefinierte Datendatei mit dieser Option hinzufügen. Sie können auch eine benutzerdefinierte Datendatei hinzufügen, indem Sie die /Add-ProvisionedAppxPackage Option verwenden.

  • Verwenden Sie /CustomDataPath, um eine optionale benutzerdefinierte Datendatei für eine App anzugeben. Sie können einen beliebigen Dateinamen angeben. Die Datei wird in Custom.dat umbenannt, wenn sie dem Image hinzugefügt wird. Wenn die „Custom.dat“-Datei bereits vorhanden ist, wird sie überschrieben.

  • Verwenden Sie /PackageName, um ein App-Paket (.appx oder .appxbundle) anzugeben.

Beispiel:

DISM.exe /Image:C:\test\offline /Set-ProvisionedAppxDataFile /CustomDataPath:c:\Test\Apps\Custom.dat /PackageName:microsoft.appx.app1_1.0.0.0_neutral_ac4zc6fex2zjp

/StubPackageOption

Wird in Verbindung mit App-Paketwartungsoptionen verwendet, um die Stubeinstellung des Pakets anzugeben.

Syntax:

/StubPackageOption:{installstub | installfull}
  • InstallStub legt das Bereitstellungspaket auf die Stubversion fest. Legt implizit die Stubeinstellung auf „Stub“ fest.
  • InstallFull legt das Bereitstellungspaket auf die Vollversion fest. Legt implizit die Stubeinstellung auf „Full“ fest.

Wenn keine Stubpaketoption angegeben wird, dann ist die bereitgestellte Paketversion auf die vordefinierten Stubeinstellungen festgelegt.

Beispiel:

Dism /image:C:\test\offline /add-provisionedappxpackage /packagepath:"C:\dism\stub\appwithresources.appxbundle" /stubpackageoption:installstub

Verstehen, wie DISM .apxbundle-Ressourcenpakete zu einem Image hinzufügt

Wenn ein .appxbundle dem Image hinzugefügt wird, gelten nicht alle Ressourcenpakete innerhalb des Bundles. Wenn beispielsweise eine App einem Windows-Image mit einer spanischen (Spanien) Standardsprache hinzugefügt wird, sollten französische (Frankreich) Ressourcen nicht eingeschlossen werden. Um zu ermitteln, welche Ressourcen dem Image hinzugefügt werden, wird die Paketanwendbarkeit mithilfe von Folgendem bestimmt:

  • Sprachressourcenpakete: Wenn keine Betriebssystemsprache vorhanden ist, wird das entsprechende App-Ressourcenpaket nicht hinzugefügt. Sie können beispielsweise ein Image haben, das ein Windows 10 mit Englisch (US) als Standardsprache und in welches ein spanisches (Spanien) Sprachpaket enthalten ist. Englisch (US) und Spanisch (Spanien) App-Ressourcenpakete werden dem Image hinzugefügt. Wenn ein Französisch (Frankreich) Ressourcenpaket (oder irgendeine andere Sprache) im App-Bundle verfügbar ist, wird es nicht hinzugefügt.

  • Skalierungs- und DirectX- (DXFL) Ressourcenpakete: Skalierungs- und DirectX- (DXFL) Ressourcenpakete hängen von der Hardwarekonfiguration des Windows-Geräts ab. Da der Typ der Zielhardware zum Zeitpunkt der Ausführung der DISM-Befehle nicht bekannt sein kann, werden alle Skalierungs- und DXFL-Ressourcenpakete dem Image zur Bereitstellungszeit hinzugefügt. Weitere Informationen zum Entwickeln einer App mit Skalierungsressourcen finden Sie unter Richtlinien zur Skalierung auf Pixeldichte (Microsoft Store-Apps).

Für ein Image mit mehreren Sprachpaketen werden dem Image App-Ressourcenpakete für jede Sprache hinzugefügt. Nachdem sich der erste Benutzer an dem PC mit dem bereitgestellten Image angemeldet hat und der Benutzer eine Sprache auf der Windows-Willkommensseite ausgewählt hat, werden die nicht anwendbaren Ressourcenpakete entfernt (Sprachressourcenpakete, Skalierungsressourcenpakete und DXFL-Ressourcenpakete), die nicht mit den Benutzerprofileinstellungen übereinstimmen.

Beispielsweise kann eine App Englisch (US), Französisch (Frankreich) und Spanisch (Spanien) unterstützen. Wenn die App einem Image mit Englisch- (US) und Spanisch- (Spanien) Sprachpaketen hinzugefügt wird, werden dem Image nur Englisch- (US) und Spanisch- (Spanien) Ressourcenpakete hinzugefügt. Wenn sich dann ein Benutzer zum ersten Mal anmeldet und auf der Windows-Willkommensseite Englisch (US) als Betriebssystemsprache auswählt, werden die Spanisch- (Spanien) Ressourcenpakete nach Abschluss der Anmeldung entfernt.

Wichtig

Wenn Sie ein Sprachpaket zu einem Image hinzufügen oder daraus entfernen, ändern Sie den Anwendbarkeitskontext, was dazu führen kann, dass ein falscher oder unvollständiger Satz von Ressourcenpaketen im Image verbleibt. Wenn ein Sprachpaket hinzugefügt oder entfernt wird, müssen Sie erneut alle .appxbundle-Pakete (einschließlich aller Abhängigkeitspakete und Microsoft Store-Lizenzdatei) zum Image hinzufügen. Dadurch wird sichergestellt, dass der richtige Satz an Ressourcenpaketen bereitgestellt wird.

Einschränkungen

  • Sie können ein App-Paket (.appx) nicht auf einem Betriebssystem installieren, das keine Windows 8 Apps unterstützt. Sie können ein App-Bundlepaket (.appxbundle) nicht auf einem Betriebssystem installieren, das nicht mindestens Windows 8.1 Apps unterstützt. Apps werden nicht auf WinPE 4.0, der Windows Server 2012 Server Core-Installationsoption oder allen anderen Versionen von Windows, die älter als Windows 8 und Windows Server 2012 sind, unterstützt.

    Um Apps auf Windows Server 2012 zu installieren und auszuführen, müssen Sie die Desktopdarstellung installieren.

  • Die Option /FolderPath wird nur für App-Pakete unterstützt. die auf dem .appx-Format basieren.

  • /PackagePath muss immer für .appxbundle-Pakete verwendet werden.

Was ist DISM?

Befehlszeilenoptionen für die DSM-Imageverwaltung

Befehlszeilenoptionen für die Abbildverwaltung für die Bereitstellung (DISM)

Querladen von Apps mit DISM