Vorinstallieren von Apps mithilfe von DISM
Hinweis
Sie interessieren sich für die Vorinstallation von Microsoft Store-Apps, sind aber kein OEM (Original Equipment Manufacturer)? Informationen zum Querladen von Apps für Organisationen finden Sie unter Querladen von Apps mit DISM.
In diesem Thema wird erläutert, wie Sie Apps vorinstallieren, damit sie in ein Windows-Image eingebunden werden.
Tipp
Hardwaresupport-Apps (HSAs) sind Microsoft Store-Apps, und es gelten die folgenden Anweisungen.
Arbeiten mit App-Paketen
Verwenden Sie DISM (Deployment Image Servicing and Management), um die Offlinebereitstellung einer App in einem Image durchzuführen. Sie können DISM über die Eingabeaufforderung oder die DISM-Cmdlets in Windows PowerShell verwenden.
In früheren Versionen von Windows 10 mussten vorinstallierte universelle Apps und Microsoft Store-Apps an das Startmenü angeheftet werden. Windows hat Apps entfernt, die vorinstalliert, aber nicht an das Startmenü angeheftet wurden.
Ab Windows 10, Version 1803, können Sie Apps vorinstallieren, ohne sie an das Startmenü anzuheften, wenn Sie DISM /add-provisionedappxpackage
mit der Option /region
verwenden. Wenn Sie eine App vorinstallieren, haben Sie die Möglichkeit, die App nicht in Ihrer Datei „LayoutModification.xml“ anzugeben. Die App wird dann erfolgreich installiert, ohne als Startmenükachel angezeigt zu werden. Ist KEINE Liste von Regionen angegeben, wird die App nur bereitgestellt, wenn sie an das Startlayout angeheftet ist.
Extrahieren der Paketdateien
Navigieren Sie zu dem Ordner, in dem Sie die aus dem Partnerdashboard heruntergeladenen App-Pakete gespeichert haben.
Klicken Sie mit der rechten Maustaste auf jeden ZIP-Ordner, der Ihre App-Paketdateien enthält. Klicken Sie auf Alle extrahieren, und wählen Sie einen Speicherort für die Ordner mit den Paketdateien aus.
Der Ordner enthält alle entpackten Dateien für das Paket, einschließlich Hauptpaket, Abhängigkeitspakete und Lizenzdatei.
Wichtig
Ändern Sie den Ordner nicht, nachdem Sie die Paketdateien extrahiert haben. Wenn Sie Dateien im Ordner ändern, hinzufügen oder entfernen, führt dies zu einem Fehler während der Installation oder beim Starten der App. Selbst beim Durchsuchen des Ordners können Probleme auftreten.
Sie müssen die Lizenzdatei aus den Paketdateien verwenden, um Ihr bereitgestelltes Image zu testen. Wenn Sie eine eigene benutzerdefinierte Datendatei erstellen, können Sie eine von einem OEM vorinstallierte App nicht präzise testen.
Für die Offlinebereitstellung einer App in einem Image können Sie entweder das Tool „Dism.exe“ oder die DISM-Cmdlets in Windows PowerShell verwenden, um eine App aus einem Ordner mit entpackten Dateien hinzuzufügen.
Vorinstallieren einer signierten Microsoft Store-App mit DISM
Öffnen Sie die Eingabeaufforderung als Administrator.
Stellen Sie ein Windows-Image bereit, das Sie warten möchten:
Dism /Mount-Image /ImageFile:c:\images\myimage.wim /Index:1 /mountdir:c:\test\offline
Fügen Sie die App dem bereitgestellten Image hinzu. Verwenden Sie die Optionen
/PackagePath
und/DependencyPackagePath
.-
Packagepath
ist der Pfad zum APPX-Bündel oder zur Paketdatei. -
DependencyPackagePath
ist der Pfad, mit dem Sie die einzelnen Abhängigkeitspakete angeben. Pro Befehl können mehrere Abhängigkeiten angegeben werden. -
Neu in Windows 10, Version 1803: Verwenden Sie die Option
Region
beim Hinzufügen von Apps.Region
ermöglicht es Ihnen, eine App hinzuzufügen, ohne die App an das Startmenü anheften zu müssen.
Dism /Image:c:\test\offline /Add-ProvisionedAppxPackage /PackagePath:c:\downloads\package.appxbundle /DependencyPackagePath:c:\downloads\dependency1.appx /DependencyPackagePath:c:\downloads\dependency2.appx /LicensePath=c:\downloads\package_License1.xml /region=all"
Informationen zur Verwendung von App-Paketen, einschließlich der neuen Option „/region“, finden Sie unter DISM-App-Pakete – Befehlszeilenoptionen.
-
Heften Sie die App an das Startmenü an.
Falls Sie beim Vorinstallieren der App
/region
nicht angegeben haben, heften Sie die App mit LayoutModification.xml an das Startmenü an.or
Wenn Sie
/region
beim Vorinstallieren der App angegeben haben und die App für bestimmte Regionen an das Startmenü anheften möchten, verwenden Sie dasRequiredStartGroups Region="region1|region2"
-Element in „LayoutModification.xml“, um die Regionen anzugeben, in denen die App angezeigt werden soll.
Speichern Sie die Änderungen, und heben Sie die Bereitstellung des Images auf. Geben Sie an der Eingabeaufforderung Folgendes ein:
Dism /Unmount-Image /mountdir:c:\test\offline /commit
Hinweis
Microsoft Store-Apps werden nicht im Überwachungsmodus ausgeführt. Führen Sie zum Testen Ihrer Bereitstellung Windows aus, und erstellen Sie ein neues Benutzerprofil. Weitere Informationen zum Überwachungsmodus finden Sie unter Übersicht über den Überwachungsmodus.
Wichtig Wenn Sie eine App für mobile Breitbandgeräte vorinstallieren, müssen Sie die SIM-Karte auf dem PC einlegen, bevor Sie die Phase „Specialize“ von Sysprep ausführen. Weitere Informationen zum Vorinstallieren einer App für mobile Breitbandgeräte finden Sie unter Vorinstallieren der erforderlichen Komponenten für eine Anwendung für mobiles Breitband.
Aktualisieren oder Entfernen von Paketen
Sie können eine vorinstallierte App (einschließlich der Lizenzdatei und benutzerdefinierten Datendateien) aus einem Windows-Image entfernen, indem Sie das Tool „DISM.exe“ oder die DISM-Cmdlets in Windows PowerShell verwenden. Sie sollten die alte Version der App entfernen, bevor Sie eine neue Version installieren.
Entfernen einer vorinstallierten App mithilfe von DISM
Öffnen Sie mit Administratorrechten die Eingabeaufforderung für Bereitstellungstools, die mit dem Windows Assessment and Deployment Kit (Windows ADK) installiert wird. Geben Sie auf dem Startbildschirm Umgebung für Bereitstellungs- und Imageerstellungstools ein, klicken Sie mit der rechten Maustaste auf das Symbol, und wählen Sie Als Administrator ausführen aus.
Stellen Sie das Offlineimage für die Wartung bereit. Geben Sie an der Eingabeaufforderung Folgendes ein:
Dism /Mount-Image /ImageFile:c:\images\myimage.wim /Index:1 /mountdir:c:\test\offline
Suchen Sie nach dem vollständigen Paketnamen der App, die Sie entfernen möchten. Geben Sie an der Eingabeaufforderung Folgendes ein:
Dism /Image:C:\test\offline /Get-ProvisionedAppxPackages
Entfernen Sie die App aus dem bereitgestellten Image. Geben Sie an der Eingabeaufforderung z. B. Folgendes ein:
Dism /Image:c:\test\offline /Remove-ProvisionedAppxPackage /PackageName:microsoft.devx.appx.app1_1.0.0.0_neutral_en-us_ac4zc6fex2zjp
Wenn Sie die App aktualisieren möchten, können Sie die aktualisierte Version der signierten Microsoft Store-App vorinstallieren. Geben Sie an der Eingabeaufforderung Folgendes ein:
Dism /Image:c:\test\offline /Add-ProvisionedAppxPackage/FolderPath:c:\downloads\appxpackage
Speichern Sie die Änderungen, und heben Sie die Bereitstellung des Images auf. Geben Sie an der Eingabeaufforderung Folgendes ein:
Dism /Unmount-Image /mountdir:c:\test\offline /commit
Verwenden von benutzerdefinierten Datendateien
Auf einem PC vorinstallierte Apps können auf spezifische benutzerdefinierte Daten für die Installation zugreifen. Diese benutzerdefinierten Daten werden der App während der Vorinstallation hinzugefügt und zur Laufzeit verfügbar gemacht. Benutzerdefinierte Daten ermöglichen es Entwicklern, die Features und Funktionen einer App anzupassen, einschließlich der Bereitstellung von Berichtsfunktionen.
Hinzufügen einer benutzerdefinierten Datendatei zu einem Windows-Image
Sie müssen die benutzerdefinierte Datendatei angeben, wenn Sie die App mithilfe des DISM-Tools oder über Windows PowerShell mithilfe des Cmdlets Add-AppxProvisionedPackage vorinstallieren. Im DISM-Tool verwenden Sie dazu den folgenden Befehl:
Dism /Image:C:\test\offline /Add-ProvisionedAppxPackage / FolderPath:f:\Apps\Fabrikam_KnowMyPC /CustomDataPath:f:\Contoso_Promotion.xml
Wenn bereits eine benutzerdefinierte Datendatei im Datenspeicher für eine App vorhanden ist (z. B. wenn das Paket bereits dem Image hinzugefügt wurde), wird die vorhandene Datei überschrieben. Wenn bei der Installation ein Fehler auftritt, wird die Datei nicht wiederhergestellt.
Hinweis Sie können Updates für eine App über den Microsoft Store freigeben, ohne dass die benutzerdefinierte Datendatei dabei verloren geht. Wenn ein Benutzer die App jedoch löscht, ist die benutzerdefinierte Datendatei nicht mehr verfügbar, auch wenn der Benutzer die App neu installiert.
Testen benutzerdefinierter Daten für vorinstallierte Apps
Auf einem PC vorinstallierte Apps können auf spezifische benutzerdefinierte Daten für die Installation zugreifen. Diese benutzerdefinierten Daten werden der App während der Vorinstallation hinzugefügt und zur Laufzeit für die App verfügbar gemacht. Benutzerdefinierte Daten ermöglichen es Entwicklern, die Features und Funktionen einer App anzupassen, einschließlich der Bereitstellung von Berichtsfunktionen.
Die Datei „Custom.data“ wird am Installationsspeicherort der App angezeigt. Der Name „Custom.data“ ist hartcodiert und kann nicht geändert werden. Ihre App kann überprüfen, ob diese Datei vorhanden ist, um festzustellen, ob die App auf dem PC vorinstalliert wurde. Hier sehen Sie ein Beispiel für den Zugriff auf die Datei „Custom.data“.
var outputDiv = document.getElementById("CustomData");
Windows.ApplicationModel.Package.current.installedLocation.getFileAsync
("microsoft.system.package.metadata\\Custom.data").then(function (file) {
// Read the file
Windows.Storage.FileIO.readTextAsync(file).done(function (fileContent) {
outputDiv.innerHTML =
"App is preinstalled. CustomData contains:<br /><br />"
+ fileContent;
},
function (error) {
outputDiv.innerText = "Error reading CustomData " + error;
});
},
function (error) {
outputDiv.innerText = "CustomData was not available. App not preinstalled";
});
Ihre Datei „Custom.data“ kann beliebige Inhalte enthalten und jedes Format aufweisen, das für Ihre App erforderlich ist. Durch den Vorinstallationsprozess werden die Inhalte lediglich für Ihre App verfügbar gemacht. Entwickler können die Datendatei für den Vorinstallationspartner bereitstellen, oder Sie können einem Format zustimmen, das dem Partner das Generieren des Inhalts ermöglicht.
Testen der benutzerdefinierten Daten
Wenn Sie Ihre App in Microsoft Visual Studio erstellen und debuggen, können Sie nicht über den Installationsspeicherort der App auf die Datei „Custom.data“ zugreifen, da die App noch nicht vorinstalliert ist. Sie können die Verwendung Ihrer Datei „Custom.data“ simulieren, indem Sie eine Testdatei „Custom.data“ in die App selbst einfügen und dann die lokale App-Datei laden und testen. Ändern Sie dazu das Codebeispiel von:
("microsoft.system.package.metadata\\Custom.data").then(function (file) {
in:
("Custom.data").then(function (file) {
Nachdem Sie das Dateiformat und den Inhalt der Datei überprüft haben, können Sie den Speicherort der Datei „Custom.data“ wie oben im ursprünglichen Beispiel gezeigt in den endgültigen Speicherort ändern.
So testen Sie die Datei „Custom.data“
Öffnen Sie mit Administratorrechten die Eingabeaufforderung für Bereitstellungstools, die mit dem Windows Assessment and Deployment Kit (Windows ADK) installiert wird. Geben Sie auf dem Startbildschirm Umgebung für Bereitstellungs- und Imageerstellungstools ein, klicken Sie mit der rechten Maustaste auf das Symbol, und wählen Sie Als Administrator ausführen aus.
Fügen Sie die Anwendung mit der benutzerdefinierten Datendatei hinzu:
dism /online /Add-ProvisionedAppxPackage /PackagePath:.\CustomData_1.0.0.1_AnyCPU_Debug.appx /CustomDataPath:.\Test.txt /SkipLicense
/PackagePath:.\CustomData_1.0.0.1_AnyCPU_Debug.appx
verweist auf Ihr lokales App-Testpaket und/CustomDataPath:.\Test.txt
auf Ihre Datei „Custom.data“. Beachten Sie, dass der hier angegebene Dateiname nach der Installation der Daten in Ihrer App nicht verwendet wird.Die App verfügt jetzt über eine Kachel auf dem Startbildschirm des zum Testen der App verwendeten PCs. Die App sollte auf die Datei „Custom.data“ zugreifen können. Wenn Sie die App zusätzlich debuggen müssen, fügen Sie nach dem Starten der App über den Startbildschirm einen Debugger an.
Hinweis Möglicherweise müssen Sie sich abmelden und erneut anmelden, damit die App auf dem Startbildschirm angezeigt wird.
Nachdem Sie die App getestet haben, müssen Sie das vorinstallierte Paket entfernen, damit Sie Ihre Entwicklungsumgebung weiter verwenden können. Wenn Sie das vorinstallierte Paket mithilfe von Windows PowerShell entfernen möchten, können Sie das Cmdlet Get-AppxPackage verwenden, um den vollständigen Namen des App-Pakets über die Pipeline für das Cmdlet Remove-ProvisionedAppxPackage bereitzustellen:
Get-AppxPackage *CustomData* | Remove-ProvisionedAppxPackage
*CustomData*
ist der bekannte Teil des App-Namens.
Vorinstallieren einer Microsoft Store-Geräte-App oder einer App für mobile Breitbandgeräte
Sie können die erforderlichen Komponenten für eine Microsoft Store-Geräte-App oder eine App für mobile Breitbandgeräte mithilfe der DISM-Plattform vorinstallieren.
Hinweis Dieser Artikel ist für OEMs gedacht, die eine Microsoft Store-Geräte-App oder die App für mobile Breitbandgeräte auf ihren Geräten unterstützen.
Für jeden App-Typ müssen zwei Komponenten vorinstalliert werden, um die richtige Microsoft Store-Geräte-App oder App für mobile Breitbandgeräte bereitzustellen:
- Für eine Microsoft Store-Geräte-App muss Folgendes vorinstalliert werden:
- Das Gerätemetadatenpaket
- Die App
- Für eine App für mobile Breitbandgeräte muss Folgendes vorinstalliert werden:
- Das Dienstmetadatenpaket
- Die App
Wichtig Obwohl Metadatenpakete und die entsprechenden Apps unmittelbar nach Abschluss des OOBE-Prozesses (Windows-Willkommensseite) analysiert werden, kann ein Benutzer die App möglicherweise vor der Analyse des Metadatenpakets starten. In diesem Fall wird ein Fehler vom Typ „Zugriff verweigert“ angezeigt. Sie können dies vermeiden, indem Sie sowohl das Metadatenpaket als auch die App auf das Systemimage anwenden.
Vorinstallieren des Gerätemetadaten- oder Dienstmetadatenpakets
So installieren Sie ein Gerätemetadaten- oder Dienstmetadatenpaket vor
Wenn Sie eine Microsoft Store-Geräte-App vorinstallieren, sollten Sie das Gerätemetadatenpaket abgerufen haben. Wenn Sie eine App für mobile Breitbandgeräte vorinstallieren, sollten Sie das Dienstmetadatenpaket abgerufen haben.
Hinweis Gerätemetadaten- und Dienstmetadatenpakete haben dieselbe Dateinamenerweiterung (.devicemetadata-ms).
Kopieren Sie das Geräte- oder Dienstmetadatenpaket (DEVICEMETADATA-MS-Datei) in Ihr Systemimage im Ordner %ProgramData%\Microsoft\Windows\DeviceMetadataStore. Wählen Sie dazu eine der folgenden Methoden:
Online vor dem Ausführen von Sysprep.
Offline nach dem Ausführen von Sysprep mithilfe von DISM. Dazu ist Folgendes erforderlich:
Stellen Sie das Offlineimage für die Wartung bereit.
Dism /Mount-Image /ImageFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline
Kopieren Sie die Metadatenpaketdateien in den Gerätemetadatenspeicher des bereitgestellten Images. Kopieren Sie beispielsweise die Metadatenpaketdatei 0ECF2029-2C6A-41AE-9E0A-63FFC9EAD877.devicemetadata-ms in den Gerätemetadatenspeicher ProgramData\Microsoft\Windows\DeviceMetadataStore:
copy 0ECF2029-2C6A-41AE-9E0A-63FFC9EAD877.devicemetadata-ms C:\test\offline\ProgramData\Microsoft\Windows\DeviceMetadataStore
Speichern Sie die Änderungen, und heben Sie die Bereitstellung des Images auf.
dism /Unmount-Image /mountdir: c:\test\offline /commit
Weitere Informationen zur Wartung von Offlineimages finden Sie unter Übersicht über DISM.
Weitere Informationen zu Dienstmetadaten finden Sie unter Dienstmetadaten.
Vorinstallieren einer Microsoft Store-Geräte-App oder einer App für mobile Breitbandgeräte
So installieren Sie eine Microsoft Store-Geräte-App oder eine App für mobile Breitbandgeräte vor
Stellen Sie das Offlineimage für die Wartung bereit.
Dism /Mount-Image /ImageFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline
Fügen Sie die Microsoft Store-Geräte-App oder die App für mobile Breitbandgeräte dem Image hinzu.
dism /Image:<mounted folder> /Add-ProvisionedAppxPackage /FolderPath:<appxpackage path>
Speichern Sie die Änderungen, und heben Sie die Bereitstellung des Images auf.
dism /Unmount-Image /mountdir: c:\test\offline /commit