Registrare un'applicazione OEM durante il processo di creazione dell'immagine
Importante
Universal Orchestrator offre funzionalità agli OEM per registrare un'applicazione durante il processo di creazione dell'immagine per eseguire un'installazione/aggiornamento accelerato una tantum. Questa installazione viene eseguita entro 30 minuti dall'accesso di un utente a un nuovo dispositivo. L'accelerazione dell'elaborazione di una domanda potrebbe avere un impatto negativo 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 accedere al framework app accelerato, l'app deve soddisfare i requisiti seguenti:
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 e qualsiasi destinazione lato client personalizzata che deve essere eseguita.
Le app con aggiornamenti rapidi supportano due meccanismi per l'aggiornamento o l'acquisizione di un'app:
Dallo Store Microsoft utilizzando il ProductId (consigliato)
Da un URL che contiene un pacchetto MSIX o un bundle. Questo pacchetto deve contenere un'app pacchettizzata dallo Store con un Nome Famiglia 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 (esempio: Microsoft.WindowsStore_8wekyb3d8bbwe) |
OEMName | Corda | Stringa per rappresentare l'OEM che crea questa registrazione |
UpdaterName | Stringa | Nome univoco per tenere traccia di questa registrazione accelerata |
Versione di Registrazione | Numero | Versione della registrazione dell'app |
Fonte | Stringa | Valori consentiti: Negozio | CustomURL Store: cerca l'app direttamente da Microsoft Store CustomURL: cerca l'app da un URL specificato nel valore "Endpoint" della registrazione dell'app |
Scenario | Corda | Valori consentiti: Aggiornamento | 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 la versione di prova non è disponibile. |
ID prodotto | Stringa | (Obbligatorio solo per gli scenari dello Store) ProductId dell'app dello Store desiderata |
Punto finale | Stringa | (Obbligatorio solo per gli scenari CustomURL) URI stringa 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 su Store, solo negli Stati Uniti e in Messico, da eseguire durante OOBE
{
"OEMName": "Contoso",
"UpdaterName": "OEMApp1",
"RegistrationVersion":1,
"Source": "Store",
"Scenario": "StubAcquisition",
"PFN": "FakePackageFamilyName",
"ProductId": "StoreProductId",
"HonorDeprovisioning": true,
"AllowedInOobe": true,
"IncludedRegions": ["US", "MX"],
"Priority": 50
}
Acquisizione di app basate su URL dei dispositivi amd64, escluse le edizioni Education e EducationN, solo in Windows 11 23H2 (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
}
Strumenti
Per facilitare il processo di registrazione e fornire commenti e suggerimenti utilizzabili sui metadati di registrazione, gli OEM devono usare lo AppOrchestration e lo script di PowerShell dalla posizione seguente:
Gli script eseguono la convalida di base e eseguono la registrazione nella posizione appropriata nel 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.
Per il flusso di registrazione vengono usati quattro cmdlet principali:
Test-UpdaterRegistration <PathToRegistrationFile>
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 il contenuto di un file di registrazione nella posizione appropriata per eseguire l'onboarding nel flusso accelerato dell'app.
Get-UpdaterRegistration <OEMName><UpdaterName>
Scopo: se vengono forniti OEMName e UpdaterName, restituire 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: declassare qualsiasi registrazione che corrisponde ai valori di OEMName e UpdaterName.
Esecuzione
Il framework Universal Orchestrator richiama automaticamente ciascuna app registrata, in sequenza in base alla priorità relativa, entro i primi 30 minuti dal momento in cui un utente raggiunge il Desktop su un nuovo dispositivo (o durante l'OOBE 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 il numero massimo di errori specificati in MaxRetryCount. Dopo ogni errore, l'app entrerà in un periodo di raffreddamento di 30 minuti prima di riprovare.
Il framework di Universal Orchestrator non eseguirà tentativi accelerati se una delle condizioni seguenti è vera:
Il dispositivo non ha accesso a Internet.
Il dispositivo è su una rete misurata.
Il dispositivo è a batteria e il risparmio batteria è abilitato.
Il dispositivo è configurato con un criterio di restrizione del traffico di rete per Windows Update .
Il dispositivo è configurato con un criterio CTA che non è impostato per l'approvazione automatica.
In ognuno di questi casi, il framework di Universal Orchestrator mantiene in essere le registrazioni fino a quando la configurazione del dispositivo non consente di procedere rapidamente.
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 considera la 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 potrebbe essere in uso e può causare un impatto negativo sulle prestazioni dell'esperienza utente in un nuovo dispositivo.