Freigeben über


UpdateOrchestrator-API

UpdateOrchestrator plant Ihre automatischen Softwareupdates unter Berücksichtigung der Auswirkungen auf die Benutzer*innen. Mit dieser API können Sie Aktionen (z. B. Herunterladen oder Installieren) sowie deren Anforderungen angeben, damit Updates zu einem optimalen Zeitpunkt ausgeführt werden, um die Benutzer*innen so wenig wie möglich zu beeinträchtigen. Von diesem Features profitieren insbesondere Systeme mit geringerer Leistung und begrenzten oder langsameren Computeressourcen.

Windows 20H1 enthält eine neue Lösung für Anwendungsfälle mit automatischen Softwareupdates, die von Betriebssystemupdates und Store-App-Updates übernommen wurden und als eine anfängliche API-Version mit eingeschränktem Zugriff für einen ausgewählten Kreis von Updatern für Apps im „Benutzermodus“ bereitgestellt wird, wie unten beschrieben.

Features

  • Registriert Softwareupdater dynamisch

  • Ruft registrierte Softwareupdater zu optimalen Zeitpunkten auf, z. B. während der Abwesenheit der Benutzer*innen, um „Benutzermodus-Apps“ zu aktualisieren.

  • Bietet die Möglichkeit, das System bei einem Netzanschluss aktiviert zu halten, um die Auswirkungen auf die Benutzer*innen noch weiter zu reduzieren.

Entwicklerpublikum

Wichtig

Die UpdateOrchestrator-API ist Teil eines Features für eingeschränkten Zugriff (siehe LimitedAccessFeatures-Klasse). Für weitere Informationen oder zum Anfordern eines Entsperrtokens verwenden Sie bitte das Anforderungsformular für LAF-Zugriffstoken.

Verwenden Sie die UpdateOrchestrator-API, wenn Sie bereits über Softwareupdater für die Ausführung im Hintergrund für Win32-Benutzermodusanwendungen wie den Adobe-Updater für Acrobat Reader oder Steam von Valve verfügen. Diese Schnittstelle ist für UWP/Store-Anwendungen nicht erforderlich, da der Microsoft Store diese Funktionalität bereits für Softwareupdates nutzt.

Für die beste Kundenerfahrung ist dieses anfängliche API-Release auf einen ausgewählten Kreis registrierter Updater beschränkt, die die folgenden Kriterien erfüllen:

  • Nur Updates für „Anwendungen im Benutzermodus“
  • Keine BIOS-, Firmware-, Geräte- oder Softwaretreiber
    • Das Aktualisieren von BIOS-, Firmware-, Geräte- oder Softwaretreibern, die die allgemeinen Qualitätskriterien nicht erfüllen, stellt ein erhebliches Risiko dar, insbesondere, wenn keine Benutzer*innen beteiligt sind.
  • Die Teilnahme an der Nutzung dieser API beinhaltet, dass alle Inhalte, die von Ihren Hintergrundsoftwareupdatern heruntergeladen und installiert werden, über Audits auf Benutzersystemen übertragen und installiert werden können.

Das erste Release der UpdateOrchestrator-API ist als Feature mit eingeschränktem Zugriff nur für Updater vorgesehen, die zu diesem Zeitpunkt die oben genannten Kriterien erfüllen.

Ziel ist es, die Funktionalität dieser API zu verbessern und die Auswirkungen von mehreren automatischen Softwareupdatern unter Windows zu verringern. Teilen Sie uns über diese kurze Umfrage Ihre Erfahrungen mit, damit wir verstehen können, wie die UpdateOrchestrator-API Ihre Entwickleranforderungen besser erfüllen kann.

Beschleunigung von OEM-Anwendungen über das Universal Orchestrator-Framework

Wichtig

Universal Orchestrator bietet OEMs die Möglichkeit, eine Anwendung während des Imaging-Prozesses zu registrieren, 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. Beachten Sie, dass sich die Beschleunigung einer Anwendung bei neuen Geräten negativ auf die Leistung auswirken kann. Diese Funktion ist nur auf bestimmten Client-Builds und in bestimmten Regionen verfügbar.

Anforderungen

Um in das Framework für beschleunigte Anwendungen aufgenommen zu werden, muss die Anwendung die folgenden Anforderungen erfüllen:

  • Es muss sich um eine im Store verpackte Anwendung im MSIX-Format handeln
  • Sie muss einen gültigen Produktfamiliennamen (PFN) haben

Registrierung

OEMs können eine Anwendung zur Beschleunigung registrieren, indem sie einen neuen Schlüssel in den bestehenden Staging-Ordner für beschleunigte Anwendungen schreiben:

HKLM\Software\Microsoft\WindowsUpdate\Orchestrator\UScheduler_OOBE

Jede vom OEM bereitgestellte Registrierung hat die Form eines Unterschlüssels (mit einem eindeutigen Namen, der zur Identifizierung dieser beschleunigten Anwendung verwendet wird) und einer Reihe von Registrierungswerten, die spezifische Optionen für diese Anwendung angeben. Der Inhalt der einzelnen Schlüssel weist das folgende Format auf:

Name der Taste: Eindeutiger Name für diese Eilanwendung

Unter dem Unterschlüssel für die Expedite-App-Registrierung müssen die OEMs zwei Werte erstellen:

  • Name des Wertes: updaterPriority
    Beschreibung: Nummer zur Angabe der relativen Priorität dieser Anwendungsaktualisierung
    Werttyp: REG_DWORD
    Daten: Ein numerischer Wert von 1 bis 100. Niedrigere Werte bedeuten eine höhere relative Priorität gegenüber anderen Eilanwendungen.

  • Wertbezeichnung: expeditedPayload
    Beschreibung: JSON-Blob mit Optionen für diesen speziellen Updater
    Werttyp: REG_SZ
    Daten: Ein String, der einen gültigen JSON-Blob mit Optionen für diesen speziellen Updater darstellt

Übersicht über den Inhalt des JSON-Blob:

Staat type Schlüsselname Beschreibung
Erforderlich String PFN Der Paketfamilienname der Anwendung (z. B: Microsoft.WindowsStore_8wekyb3d8bbwe)
Erforderlich String Endpunkt Ein String-URI, der auf einen Speicherort verweist, der ein MSIX-Paket bereitstellt. Muss ein SSL-URI sein, der mit „https“ beginnt.
Optional Boolean AllowedInOobe Ob diese beschleunigte Anwendung während der OOBE des Benutzers laufen soll
Optional Anzahl MaxRetryCount Die Anzahl der Versuche, die der Updater nach einem Fehler wiederholen darf. Der Standardwert ist 1. Das Maximum ist 5.
Optional Anzahl TimeoutDurationInMinutes Die Dauer in Minuten, die gewartet wird, bis der Updater seine Arbeit beendet hat. Der Standardwert ist 15. Der Höchstwert beträgt 30
Optional Array (String) ExcludedRegions Ein JSON-Array mit Strings für Regionen, in denen diese Anwendung nicht beschleunigt werden soll. Jeder Eintrag im Array entspricht dem zweistelligen ISO 3166-1 Ländercode der gewünschten Region. So würde beispielsweise ["US"] diesen Datenfluss auf Geräten mit der Region Vereinigte Staaten verhindern.

Beispiel für JSON-Nutzdaten:

{  
    "PFN": "PFNName",  
    "Endpoint": "SSL_URI",  
    "AllowedInOobe": false,  
    "MaxRetryCount": 3,  
    "TimeoutDurationInMinutes": 15,  
    "ExcludedRegions": ["CN", "FR"]   
}

Ausführung

Das Universal Orchestrator-Framework ruft automatisch jede der registrierten Anwendungen in einer auf relativer Priorität basierenden Reihenfolge innerhalb der ersten 30 Minuten auf, wenn ein Benutzer den Desktop auf einem neuen Gerät erreicht (oder während der Benutzer-OOBE, wenn AllowedInOobe auf true gesetzt ist). Jede registrierte Anwendung, die durch den OEM-Registrierungsprozess hinzugefügt wird, wird so lange versucht, bis entweder:

  • Sie ist erfolgreich installiert
  • Sie übersteigt die in MaxRetryCount angegebene maximale Anzahl von Fehlschlägen. Nach jedem Fehlschlag geht die App in eine Abkühlphase von 30 Minuten, bevor sie erneut versucht wird.

Das Universal Orchestrator-Framework führt keine Expedited-Versuche durch, wenn eine der folgenden Bedingungen erfüllt ist:

  • Das Gerät hat keinen Internetzugang
  • Gerät befindet sich in einem gebührenpflichtigen Netz
  • Das Gerät läuft im Akkubetrieb, und der Akkuschoner ist aktiviert
  • Das Gerät ist mit einer Windows Update-Richtlinie für eingeschränkten Netzwerkverkehr konfiguriert
  • Das Gerät ist mit einer CTA-Richtlinie konfiguriert, die nicht für AutoApprove eingestellt ist

In jedem dieser Fälle hält das Universal Orchestrator Framework die Registrierungen aufrecht, bis die Gerätekonfiguration beschleunigte Versuche zulässt.

Wichtig

Seien Sie vorsichtig, wenn Sie sich dafür entscheiden, Anwendungen über dieses Framework zu beschleunigen, da die Aktualisierungsvorgänge durchgeführt werden, während das Gerät in Gebrauch ist, und die Leistung des Benutzers auf einem neuen Gerät beeinträchtigen können.