UpdateOrchestrator API
UpdateOrchestrator pianifica gli aggiornamenti software automatici tenendo presente l'impatto degli utenti. Questa API consente di specificare azioni, ad esempio il download o l'installazione, insieme ai relativi requisiti per eseguire gli aggiornamenti in un momento ottimale che riduce al minimo l'impatto dell'utente. Queste funzionalità traggono vantaggio in particolare dai sistemi a prestazioni inferiori con risorse di calcolo limitate o più lente.
Windows 20H1 include una soluzione di prima generazione per i casi d'uso degli aggiornamenti software automatici adottati dagli aggiornamenti del sistema operativo e dagli aggiornamenti delle app dello Store ed espone una versione iniziale di "Accesso limitato" di questa API per un set selezionato di aggiornamenti delle app "in modalità utente", come descritto di seguito.
Caratteristiche
Registra dinamicamente gli aggiornamenti software
Richiama gli aggiornamenti software registrati durante i momenti ottimali, ad esempio durante l'assenza dell'utente, per aggiornare le "app in modalità utente".
Include la possibilità di "mantenere sveglio" il dispositivo quando è alimentato a corrente alternata per ridurre ulteriormente l'impatto dell'assenza dell'utente.
Pubblico degli sviluppatori
Importante
L'API UpdateOrchestrator
Usa l'API UpdateOrchestrator se disponi già di aggiornamenti software in background per applicazioni win32 "modalità utente", ad esempio l'updater di Adobe per Acrobat Reader o Valve's Steam. Questa interfaccia non è necessaria per le applicazioni UWP/Store perché Microsoft Store sfrutta già questa funzionalità per gli aggiornamenti software.
Per offrire la migliore esperienza del cliente, questa versione iniziale dell'API ha come ambito un set selezionato di aggiornamenti registrati che soddisfano i criteri seguenti:
- Aggiornamenti solo per le applicazioni in modalità utente
- Non coinvolgere BIOS/Firmware/Dispositivo o driver del software
- L'aggiornamento di bios, firmware o driver di dispositivo/software che non hanno superato criteri di qualità comuni rappresentano un rischio sostanziale, in particolare quando un utente non è presente.
- Partecipare nell'uso di questa API comporta essere in grado di garantire tutto il contenuto scaricato e installato dai programmi di aggiornamento software in background nei sistemi degli utenti tramite verifiche.
Il rilascio iniziale dell'API UpdateOrchestrator come funzionalità di accesso limitato è attualmente disponibile solo per gli aggiornatori che soddisfano i criteri precedenti.
Il nostro obiettivo è migliorare le funzionalità di questa API e ridurre l'impatto di più aggiornamenti software automatici in Windows. Microsoft apprezzerebbe il tuo contributo attraverso questo breve sondaggio per aiutarci a comprendere come l'API UpdateOrchestrator possa servire meglio le tue esigenze di sviluppo.
Accelerare le app OEM tramite il framework di Universal Orchestrator
Importante
Universal Orchestrator fornisce funzionalità agli OEM per registrare un'applicazione durante il processo di imaging per eseguire un'installazione o aggiornamento rapido una tantum. Questa installazione viene eseguita entro 30 minuti dall'accesso di un utente a un nuovo dispositivo. Si tenga presente che accelerare un'applicazione potrebbe impattare negativamente sulle prestazioni dell'esperienza iniziale per i nuovi dispositivi. Questa funzionalità è disponibile solo nelle versioni di Windows che eseguono l'aggiornamento cumulativo di anteprima non di sicurezza di novembre 2024.
Windows 11 23H2 - KB5046732 (Build del sistema operativo 22631.4541)
Windows 11 24H2 - KB5046740 (Build del sistema operativo 26100.2454)
Requisiti
Per integrarsi nel framework applicativo accelerato, l'app deve soddisfare i seguenti requisiti:
- Deve essere un'app in pacchetto nello Store in formato MSIX
- Deve avere un nome di famiglia di prodotti valido (PFN)
Registrazione
I file di registrazione sono file JSON ASCII che contengono metadati con informazioni sul flusso accelerato desiderato, nonché qualsiasi destinazione lato client personalizzata che deve essere eseguita.
Le app accelerate supportano due meccanismi per aggiornare/acquisire un'app:
- Direttamente dal Microsoft Store utilizzando il ProductId (scelta consigliata)
- Da un URL che contiene un pacchetto MSIX o un bundle. Questo pacchetto deve contenere un'app dello Store in pacchetto con un Nome di Famiglia del Pacchetto (PFN) valido. L'OEM o il proprietario dell'app è responsabile della gestione di questo URL.
Ogni file di registrazione deve contenere le proprietà JSON necessarie seguenti:
Chiave | Digitare | Descrizione |
---|---|---|
PFN | Stringa | Nome della famiglia di pacchetti dell'app (ad esempio, Microsoft.WindowsStore_8wekyb3d8bbwe) |
OEMName | Stringa | Stringa per rappresentare l'OEM che crea questa registrazione |
UpdaterName | Stringa | Nome univoco per tenere traccia di questa registrazione accelerata |
Versione di registrazione | Numero | La versione della registrazione di questa app |
Fonte | Stringa | Valori consentiti: Negozio | CustomURL Store: cerca l'app direttamente da Microsoft Store CustomURL: cerca l'app tramite un URL specificato nel campo "Endpoint" della registrazione dell'app. |
Scenario | Corda | Valori consentiti: Aggiornare | Acquisizione | StubAcquisition Aggiornamento: (non supportato per i flussi CustomURL) tenta di aggiornare un'app esistente alla versione più recente disponibile. Non viene eseguito alcun lavoro se l'app non è presente Acquisizione: tenta di acquisire la versione più recente di un'app. StubAcquisition: tenta di acquisire uno "stub" dell'app (se disponibile). Acquisisce l'app completa se lo stub non è disponibile. |
ProductId | Corda | (Obbligatorio solo per gli scenari dello Store) ProductId dell'app dello Store desiderata |
Punto di terminazione | Stringa | (Obbligatorio solo per gli scenari CustomURL) Stringa URI che punta a una posizione che ospita un pacchetto MSIX. Deve essere un URI SSL che inizia con "https". |
Inoltre, è possibile specificare le proprietà facoltative seguenti per modificare il comportamento dell'installazione accelerata dell'app o impostare come destinazione il flusso accelerato in modo che si verifichi solo in determinate condizioni.
Campioni
acquisizione di stub basata sul negozio, solo negli Stati Uniti e in Messico, da eseguire durante l'esperienza iniziale
{
"RegistrationVersion":1,
"Source": "Store",
"Scenario": "StubAcquisition",
"PFN": "FakePackageFamilyName",
"ProductId": "StoreProductId",
"HonorDeprovisioning": true,
"AllowedInOobe": true,
"IncludedRegions": ["US", "MX"],
"Priority": 50
}
L'acquisizione di app basate su URL su dispositivi amd64, escluse le edizioni Education e EducationN, è disponibile solo su Windows 11 23H2 (not Windows 11 22H2)
{
"RegistrationVersion":2,
"Source": "CustomURL",
"Scenario": "Acquisition",
"PFN": "FakePackageFamilyName",
"Endpoint": "https://<SSL_URI>",
"ExcludedEditions": [121, 122],
"Architecture": "amd64",
"MinimumAllowedBuildVersion": 22631,
"Priority": 60
}
Strumenti
Per facilitare il processo di registrazione e fornire commenti e suggerimenti interattivi sui metadati di registrazione, gli OEM devono usare l'AppOrchestration script di PowerShell dal percorso seguente:
microsoft/ms-update-universalorchestrator: strumenti e script per integrarsi con flussi di aggiornamento basati su Universal Orchestrator
Gli script eseguono la convalida di base e predispongono la registrazione sulla posizione appropriata sul dispositivo. In caso di errori, gli script generano un'eccezione con i dettagli specifici dell'errore.
Per usare gli script:
- Scaricare gli script nel dispositivo. Dalla pagina del repository GitHub è possibile scegliere di scaricare come file ZIP ed estrarre nel dispositivo
- In una finestra di PowerShell eseguire "Import-Module <PathToScripts>\scripts\AppOrchestration.psd1"
Nota: Questi script richiedono all'utente di disporre di privilegi amministrativi nel dispositivo e devono essere eseguiti da una console con privilegi elevati.
Esistono 4 cmdlet principali usati per il flusso di registrazione
Test-UpdaterRegistration <PercorsoAlFileDiRegistrazione>
Scopo: convalidare il contenuto di un file di registrazione proposto (senza eseguire la registrazione). Consente all'OEM di scorrere il payload del file di registrazione senza influire sul dispositivo
Add-UpdaterRegistration <PathToRegistrationFile>
Scopo: convalidare e preparare i contenuti di un file di registrazione nella posizione appropriata, per facilitare l'integrazione nel flusso rapido dell'app
Get-UpdaterRegistration <OEMName><UpdaterName>
Scopo: se vengono forniti OEMName e UpdaterName, restituisce un riepilogo di una registrazione esistente corrispondente a tali valori. Se tali input vengono omessi, restituisce un riepilogo di tutte le registrazioni correnti presenti nel dispositivo.
Remove-UpdaterRegistration <OEMName><UpdaterName<
Scopo: annulla le operazioni di registrazione corrispondenti ai valori OEMName e UpdaterName.
Esecuzione
Il framework Universal Orchestrator richiama automaticamente ogni app registrata, in sequenza in base alla priorità relativa, entro i primi 30 minuti da quando un utente raggiunge il desktop su un nuovo dispositivo (o durante l'esperienza guidata iniziale utente se AllowedInOobe è impostato su true). Ogni applicazione registrata aggiunta dal processo di registrazione OEM verrà tentata fino a quando:
- L'installazione è stata completata
- Supera la quantità massima di errori specificati in MaxRetryCount. Dopo ogni errore, l'app immetterà un periodo di raffreddamento di 30 minuti prima di riprovare.
Il framework di Universal Orchestrator non eseguirà tentativi accelerati se si verifica una delle condizioni seguenti:
- Il dispositivo non ha accesso a Internet
- Il dispositivo si trova in una rete a consumo
- Il dispositivo è a batteria e il risparmio batteria è abilitato
- Il dispositivo è configurato con un criterio di restrizione del traffico di rete di Windows Update
- Il dispositivo è configurato con una politica CTA che non è impostata per l'approvazione automatica
In ognuno di questi casi, il framework Universal Orchestrator manterrà le registrazioni invariate fino a quando la configurazione del dispositivo non consente tentativi accelerati di procedere.
Se la registrazione dell'app contiene valori facoltativi che bloccano il flusso accelerato (ad esempio a causa del tipo di edizione), il framework di Universal Orchestrator considererà questa richiesta di registrazione soddisfatta e non lo tenterà di nuovo, anche se tali condizioni potrebbero cambiare successivamente in un dispositivo.
Importante
Prestare attenzione quando si sceglie di accelerare le app tramite questo framework, poiché le operazioni di aggiornamento si verificano quando il dispositivo può essere in uso e può causare un impatto negativo sulle prestazioni dell'esperienza utente in un nuovo dispositivo.