Teilen über


Registrieren einer OEM-Anwendung während des Imageerstellungsprozesses

Wichtig

Universal Orchestrator bietet OEMs Funktionen zum Registrieren einer Anwendung während des Imageerstellungsprozesses, um eine einmalige beschleunigte Installation/Aktualisierung durchzuführen. Diese Installation erfolgt innerhalb von 30 Minuten, nachdem sich ein Benutzer bei einem neuen Gerät angemeldet hat. Das Beschleunigen einer Anwendung hat möglicherweise negative Auswirkungen auf die Leistung für die Out-of-Box-Erfahrung für neue Geräte. Diese Funktionalität ist nur für Windows-Versionen verfügbar, die das kumulative nicht sicherheitsrelevante Vorschauupdate vom November 2024 ausführen.

Windows 11 23H2 – KB5046732 (Betriebssystembuild 22631.4541)
Windows 11 24H2 – KB5046740 (Betriebssystembuild 26100.2454)

Anforderungen

Um das beschleunigte App-Framework zu nutzen, muss die App die folgenden Anforderungen erfüllen:

  • Es muss sich um eine store-verpackte App im MSIX-Format handeln.

  • Er muss über einen gültigen Produktfamiliennamen (PFN) verfügen.

Registrierung

Registrierungsdateien sind ASCII-JSON-Dateien, die Metadaten mit Informationen zum gewünschten beschleunigten Datenfluss sowie alle benutzerdefinierten Client-Zielvorgaben enthalten, die ausgeführt werden müssen.

Beschleunigte Apps unterstützen zwei Mechanismen zum Aktualisieren/Erwerben einer App:

  1. Aus dem Microsoft Store mithilfe einer Produkt-ID (empfohlen)

  2. Aus einer URL, die ein MSIX-Paket oder -Bündel enthält. Dieses Paket muss eine store-verpackte App mit einem gültigen Paketfamiliennamen (PFN) enthalten. Der OEM- oder App-Besitzer ist für die Aufrechterhaltung dieser URL verantwortlich.

Jede Registrierungsdatei muss die folgenden erforderlichen JSON-Eigenschaften enthalten:

Schlüssel Typ Beschreibung
PFN Schnur Der Paketfamilienname der App (Beispiel: Microsoft.WindowsStore_8wekyb3d8bbwe)
OEMName Schnur Zeichenfolge, die den OEM darstellt, der diese Registrierung erstellt
UpdaterName Schnur Eindeutiger Name zum Nachverfolgen dieser beschleunigten Registrierung
Registrierungsversion Zahl Die Version dieser App-Registrierung
Quelle Schnur Zulässige Werte:

Store | CustomURL

Store – sucht direkt aus dem Microsoft Store nach der App.

CustomURL – sucht nach der App anhand einer URL, die im Wert "Endpoint" der App-Registrierung angegeben ist.
Szenario Schnur Zulässige Werte:

Aktualisieren | Übernahme | StubAcquisition

Update – (Für CustomURL-Flüsse nicht unterstützt) versucht, eine vorhandene App auf die neueste verfügbare Version zu aktualisieren. Es wird keine Arbeit ausgeführt, wenn die App nicht vorhanden ist.

Erwerb – versucht, die neueste Version einer App zu erwerben.

StubAcquisition – versucht, einen "Stub" der App zu erwerben (sofern verfügbar). Erwirbt die vollständige App, wenn der Stub nicht verfügbar ist.
ProductId Schnur (Nur für Store-Szenarien erforderlich)

Die ProductId der gewünschten Store-App
Endpunkt Schnur (Nur erforderlich für CustomURL-Szenarien)

Ein Zeichenfolgen-URI, der auf einen Speicherort zeigt, an dem ein MSIX-Paket gehostet wird. Muss ein SSL-URI sein, der mit "https" beginnt.

Darüber hinaus können die folgenden optionalen Eigenschaften angegeben werden, um das Verhalten der beschleunigten App-Installation zu ändern oder den beschleunigten Fluss nur unter bestimmten Bedingungen zu erreichen.

Schlüssel Typ Vorgabe Beschreibung
ErlaubtInOobe Boolesch Falsch Soll diese beschleunigte App während des Benutzer-OOBE ausgeführt werden?

Hinweis: Achten Sie beim Festlegen auf "true", da dies möglicherweise Ressourceneinschränkungen auf einem Gerät während des Out of Box Experience-Flusses und negative Auswirkungen auf die vom Benutzer wahrgenommene Leistung erzeugt.
Maximale Wiederholungsanzahl Zahl 1 Die Häufigkeit, mit der dieser Updater nach einem Fehler erneut versuchen kann.

Maximal zulässiger Wert ist: 5
TimeoutDauerInMinuten Zahl 15 Die Dauer in Minuten, bis dieser Updater die Arbeit abgeschlossen hat.

Maximal zulässiger Wert: 30
Architektur Schnur Keine Einschränkung Zulässige Werte:

"amd64" | "arm64"

Gibt an, ob die beschleunigte Arbeit nur für eine bestimmte Architektur erfolgen soll.
Mindestzugelassene Buildversion Zahl Keine Einschränkung Minimale Windows-Buildversionen, in denen die beschleunigte Arbeit zulässig ist.

Wenn diese Einstellung beispielsweise auf 22631 festgelegt ist, ist beschleunigte Arbeit für Windows 11 23H2 (10.0.22631.x) zulässig, aber für Windows 11 22H2 (10.0.22621.x) blockiert.
HonorDeprovisioning Boolesch Falsch (Gilt nur für Kaufszenarien)

Wenn die App zuvor deprovisioniert wurde, unterlassen Sie es, sie erneut zu erwerben.
ÜberspringenWennVorhanden boolesch Falsch (Gilt nur für Kaufszenarien)

Führen Sie die beschleunigte Arbeit nicht aus, wenn bereits eine Version der App vorhanden ist.
Priorität Zahl 100 Ein numerischer Wert zwischen 1 und 100, der die relative Priorität dieses Anwendungsupdates angibt.

Niedrigere Werte geben eine höhere relative Priorität für andere beschleunigte Apps an.
Ausgeschlossene Regionen Array (Zeichenfolge) Keine Einschränkungen Ein JSON-Array mit Zeichenfolgen für Regionen, in denen diese App NICHT beschleunigt werden soll.

Jeder Eintrag im Array entspricht dem zwei Buchstaben ISO 3166-1 Ländercode der gewünschten Region.

Beispiel: ["US", "MX"] würde diesen Fluss auf Geräten verhindern, auf denen die Region USA oder Mexiko ist.

Hinweis: Dieser Wert kann nicht mit "IncludedRegions" verwendet werden.
Eingeschlossene Regionen Array (String) Keine Einschränkungen Ein JSON-Array mit Zeichenfolgen, die eine Zulassungsliste von Regionen angeben, in denen diese App beschleunigt werden soll.

Jeder Eintrag im Array entspricht dem zwei Buchstaben ISO 3166-1 Ländercode der gewünschten Region.

Beispiel: ["US", "MX"] würde diesen Fluss nur auf Geräten zulassen, auf denen die Region USA oder Mexiko ist.

Hinweis: Dieser Wert kann nicht mit "ExcludedRegions" verwendet werden.
EnthalteneEditionen Array (Zahl) Keine Einschränkungen Ein JSON-Array mit Zahlen, das eine Zulassungsliste von Editionen angibt, in denen diese App beschleunigt werden soll.

Jeder Eintrag im Array entspricht dem Edition-Code, der von der GetProductInfo-APIabgerufen wird.

Beispiel: [121, 122] beschränkt auf nur Education- und EducationN-Editionen

Hinweis: Dieser Wert kann nicht mit ExcludedEditions verwendet werden.
AusgeschlosseneEditionen Array (Zahl) Keine Einschränkungen Ein JSON-Array mit Zahlen für Editionen, bei denen diese App NICHT beschleunigt werden sollte.

Jeder Eintrag im Array entspricht dem Edition-Code, der von der GetProductInfo-APIabgerufen wird.

Beispiel: [121, 122] zum Ausschließen von Education- und EducationN-Editionen.

Hinweis: Dieser Wert kann nicht mit IncludedEditions verwendet werden.

Proben

Store-basierte Stub-Erfassung, nur in den USA und Mexiko, zur Ausführung während der OOBE (Out-of-Box Experience)

{  
    "OEMName": "Contoso",
    "UpdaterName": "OEMApp1",
    "RegistrationVersion":1,  
    "Source": "Store",  
    "Scenario": "StubAcquisition",  
    "PFN": "FakePackageFamilyName",  
    "ProductId": "StoreProductId",  
    "HonorDeprovisioning": true,  
    "AllowedInOobe": true,  
    "IncludedRegions": ["US", "MX"],  
    "Priority": 50  
}

URL-basierter App-Erwerb auf amd64-Geräten, ausschließlich unter Windows 11 23H2, ausgenommen die Editionen Education und EducationN (not Windows 11 22H2)

{  
    "OEMName": "Contoso",
    "UpdaterName": "OEMApp1",
    "RegistrationVersion":2,  
    "Source": "CustomURL",  
    "Scenario": "Acquisition",  
    "PFN": "FakePackageFamilyName",  
    "Endpoint": "https://<SSL_URI>",   
    "ExcludedEditions": [121, 122],   
    "Architecture": "amd64",   
    "MinimumAllowedBuildVersion": 22631,  
    "Priority": 60 
}

Werkzeuge

Um den Registrierungsprozess zu erleichtern und umsetzbares Feedback zu den Registrierungsmetadaten bereitzustellen, müssen OEMs die AppOrchestration PowerShell-Skripts von folgendem Speicherort aus verwenden:

microsoft/ms-update-universalorchestrator: Skripte und Tools zur Eingliederung in universelle Orchestrator-basierte Update-Flüsse

Die Skripte führen eine grundlegende Überprüfung durch und hinterlegen die Registrierung am richtigen Ort auf dem Gerät. Bei Fehlern lösen die Skripts eine Ausnahme mit den spezifischen Fehlerdetails aus.

So verwenden Sie die Skripts:

  1. Laden Sie die Skripts auf Ihr Gerät herunter. Auf der GitHub-Repositoryseite können Sie auswählen, ob sie als ZIP-Datei heruntergeladen und auf Ihr Gerät extrahiert werden sollen.

  2. Führen Sie in einem PowerShell-Fenster "Import-Module <PathToScripts>\scripts\AppOrchestration.psd1" aus.

Anmerkung

Für diese Skripts muss der Benutzer über Administratorrechte auf dem Gerät verfügen und von einer Konsole mit erhöhten Rechten ausgeführt werden.

Für den Registrierungsfluss werden vier Haupt-Cmdlets verwendet:

Test-UpdaterRegistration <PathToRegistrationFile>
Zweck: Überprüfen des Inhalts einer vorgeschlagenen Registrierungsdatei (ohne Registrierung). Ermöglicht den OEMs, die Nutzlast der Registrierungsdatei anzupassen, ohne dass sich dies auf das Gerät auswirkt.

Add-UpdaterRegistration <PathToRegistrationFile>
Zweck: Überprüfen, organisieren und bereitstellen Sie den Inhalt einer Registrierungsdatei an den entsprechenden Ort, um den beschleunigten App-Prozess zu starten.

Get-UpdaterRegistration <OEMName><UpdaterName>
Zweck: Wenn OEMName und UpdaterName bereitgestellt werden, geben Sie eine Zusammenfassung einer vorhandenen Registrierung zurück, die diesen Werten entspricht. Wenn diese Eingaben weggelassen werden, geben Sie eine Zusammenfassung aller aktuellen Registrierungen zurück, die auf dem Gerät vorhanden sind.

Remove-UpdaterRegistration <OEMName><UpdaterName>
Zweck: Entfernt alle Registrierungen, die mit den Werten von OEMName und UpdaterName übereinstimmen.

Ausführung

Das Universal Orchestrator-Framework ruft automatisch jede der registrierten Apps in der Reihenfolge auf, basierend auf relativer Priorität, und zwar innerhalb der ersten 30 Minuten, nachdem ein Benutzer den Desktop auf einem neuen Gerät erreicht hat (oder während der Benutzer-OOBE, wenn AllowedInOobe auf 'true' gesetzt ist). Jede registrierte Anwendung, die durch den OEM-Registrierungsprozess hinzugefügt wurde, wird versucht auszuführen, bis entweder:

  • Es wurde erfolgreich installiert.

  • Er überschreitet die maximale Anzahl von Fehlern, die in MaxRetryCount angegeben wurden. Nach jedem Fehler wechselt die App in einen Abkühlzeitraum von 30 Minuten, bevor sie erneut versucht wird.

Das Universal Orchestrator-Framework führt keine beschleunigten Versuche aus, wenn eine der folgenden Bedingungen zutrifft:

In jedem dieser Fälle behält das Universal Orchestrator-Framework die Registrierungen bei, bis die Gerätekonfiguration beschleunigte Versuche ermöglicht, fortzufahren.

Wenn die App-Registrierung optionale Werte enthält, die den beschleunigten Fluss blockieren (z. B. aufgrund des Editionstyps), betrachtet das Universal Orchestrator-Framework diese Registrierungsanforderung als erfüllt und versucht sie nicht erneut, auch wenn sich diese Bedingungen später auf einem Gerät ändern können.

Wichtig

Seien Sie vorsichtig, wenn Sie sich dafür entscheiden, Apps über dieses Framework zu beschleunigen, da die Aktualisierungsvorgänge auftreten, wenn das Gerät möglicherweise verwendet wird und eine negative Leistungsauswirkung der Benutzererfahrung auf einem neuen Gerät verursachen kann.