Partager via


Inscrire une application OEM pendant le processus d’imagerie

Important

Universal Orchestrator fournit des fonctionnalités permettant aux fabricants OEM d’inscrire une application pendant le processus d’imagerie afin d’effectuer une installation ou une mise à jour accélérée à usage unique. Cette installation se produit dans les 30 minutes suivant la connexion d’un utilisateur à un nouvel appareil. L’accélération d’une application peut avoir un impact négatif sur les performances de l’expérience prête à l’emploi pour les nouveaux appareils.

Cette fonctionnalité est disponible dans :

  • Windows 11 23H2 - KB5046732 (build du système d’exploitation 22631.4541)
  • Windows 11 24H2 - KB5046740 (build du système d’exploitation 26100.2454)
  • Windows 11 25H2 et versions ultérieures de Windows

Exigences

Pour vous connecter à l’infrastructure d’application accélérée, l’application doit répondre aux exigences suivantes :

  • Il doit s’agir d’une application empaquetée dans le Windows Store au format MSIX
  • Il doit avoir un nom de famille de produits valide (PFN)

Inscription

Les fichiers d’inscription sont des fichiers JSON ASCII qui contiennent des métadonnées avec des informations sur le flux accéléré souhaité et tout ciblage personnalisé côté client qui doit être effectué.

Les applications accélérées prennent en charge deux mécanismes pour mettre à jour/ acquérir une application :

  1. Du Microsoft Store en utilisant un ProductId (recommandé) et.
  2. À partir d’une URL qui contient un package ou un bundle MSIX. Ce package doit contenir une application empaquetée dans le Windows Store avec un nom de famille de package valide (PFN). Le propriétaire de l’oem ou de l’application est responsable de la maintenance de cette URL.

Chaque fichier d’inscription doit contenir les propriétés JSON requises suivantes :

Clé Type Description
PFN Corde Nom de la famille de packages de l’application (exemple : Microsoft.WindowsStore_8wekyb3d8bbwe)
Nom du Fabricant d'Équipement d'Origine Corde Chaîne pour représenter l’OEM créant cette inscription
UpdaterName Corde Nom unique pour suivre cette inscription accélérée
Version d'Enregistrement Nombre Version de cette inscription d’application
Source Corde Valeurs autorisées :

Store | CustomURL

Store : recherche l’application directement à partir du Microsoft Store

CustomURL : recherche l’application à partir d’une URL spécifiée dans la valeur « Point de terminaison » de l’inscription de l’application
Scénario Corde Valeurs autorisées :

Mettre à jour | Acquisition | StubAcquisition

Mise à jour : (non pris en charge pour les flux CustomURL) tente de mettre à jour une application existante vers sa dernière version disponible. Aucun travail n’est effectué si l’application n’est pas présente

Acquisition : tente d’acquérir la dernière version d’une application.

StubAcquisition : tente d’acquérir un « stub » de l’application (s’il est disponible). Acquiert l’application complète si le stub n’est pas disponible.
ProductId Corde (Obligatoire uniquement pour les scénarios du Windows Store)

ProductId de l’application Store souhaitée
Point de terminaison Corde (Obligatoire uniquement pour les scénarios CustomURL)

URI de chaîne pointant vers un emplacement hébergeant un package MSIX. Doit être un URI SSL qui commence par « https ».

En outre, les propriétés facultatives suivantes peuvent être spécifiées pour modifier le comportement de l’installation de l’application accélérée, ou pour cibler le flux accéléré à se produire uniquement dans certaines conditions.

Clé Type Par défaut Description
AllowedInOobe Booléen Faux Indique si cette application rapide doit s’exécuter pendant l'expérience de démarrage utilisateur.

Important: Soyez prudent lorsque vous définissez la valeur true, car cela peut créer des contraintes de ressources sur un appareil pendant le flux Out of Box Experience et avoir un impact négatif sur les performances perçues par l’utilisateur.
MaxRetryCount Nombre 1 Nombre de fois où ce updater est autorisé à réessayer après l’échec.

La valeur maximale autorisée est : 5
DuréeD'AttenteEnMinutes Nombre 15 Durée d'attente en minutes pour que ce programme de mise à jour termine le travail.

La valeur maximale autorisée est : 30
Architecture Corde Aucune restriction Valeurs autorisées :

« amd64 » | « arm64 »

Spécifie si le travail accéléré doit se produire uniquement pour une architecture spécifique.
Version minimale autorisée de la build Nombre Aucune restriction Versions minimales de build Windows où le travail accéléré est autorisé.

Par exemple, si la valeur est 22631, le travail accéléré est autorisé pour Windows 11 23H2 (10.0.22631.x), mais bloqué pour Windows 11 22H2 (10.0.22621.x)
HonorDeprovisioning Booléen Faux (Applicable uniquement aux scénarios d’acquisition)

Si l’application a été précédemment déprovisionnée, n’essayez pas de l’acquérir à nouveau.
IgnorerSiPrésent Booléen Faux (Applicable uniquement aux scénarios d’acquisition)

N’effectuez pas le travail accéléré si une version de l’application est déjà présente.
Priorité Nombre 100 Valeur numérique comprise entre 1 et 100 pour indiquer la priorité relative de cette mise à jour de l’application.

Les valeurs inférieures indiquent une priorité relative plus élevée pour d’autres applications accélérées.
Régions Exclues Array (String) Aucune restriction Tableau JSON de chaînes pour les régions où cette application ne doit PAS être accélérée.

Chaque entrée dans le tableau correspond au code de pays ISO 3166-1 de la région souhaitée.

Exemple : ["US", "MX"] empêcherait ce flux sur les appareils où la région est États-Unis ou Mexique.

Cette valeur ne peut pas être utilisée avec IncludedRegions.
RégionsIncluses Array (String) Aucune restriction Tableau JSON de chaînes qui indiquent une liste blanche de régions où cette application doit être traitée en priorité.

Chaque entrée dans le tableau correspond au code de pays ISO 3166-1 de la région souhaitée.

Exemple : ["US", "MX"] autoriserait ce flux uniquement sur les appareils où la région est États-Unis ou Mexique.

Cette valeur ne peut pas être utilisée avec ExcludedRegions.
Éditions Incluses Tableau (nombre) Aucune restriction Tableau JSON de nombres qui indiquent une liste verte d’éditions dans laquelle cette application doit être accélérée.

Chaque entrée du tableau correspond au code Edition récupéré par l’API GetProductInfo .

Exemple : [121, 122] pour inclure uniquement les éditions Éducation et ÉducationN.

Cette valeur ne peut pas être utilisée avec ExcludedEditions.
ExcludedEditions Tableau (nombre) Aucune restriction Liste JSON de nombres pour les éditions où cette application ne doit PAS être accélérée.

Chaque entrée du tableau correspond au code Edition récupéré par l’API GetProductInfo .

Exemple : [121, 122] pour exclure les éditions Éducation et ÉducationN.

Cette valeur ne peut pas être utilisée avec IncludedEditions.

Échantillons

acquisition de stub en magasin, uniquement aux États-Unis et au Mexique, pour s’exécuter pendant le OOBE

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

Acquisition d'applications basées sur URL sur des appareils amd64, excluant les éditions Éducation et ÉducationN, uniquement sur 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 
}

Outils

Pour faciliter le processus d’inscription et fournir des commentaires actionnables sur les métadonnées d’inscription, les OEM doivent utiliser les scripts PowerShell AppOrchestration à partir de l’emplacement suivant :

microsoft/ms-update-universalorchestrator : Scripts et outils pour s’intégrer aux flux de mise à jour basés sur Universal Orchestrator

Les scripts effectuent une validation de base et étapent l’inscription à l’emplacement approprié sur l’appareil. En cas d’échec, les scripts lèvent une exception avec les détails spécifiques de l'échec.

Pour utiliser les scripts :

  1. Téléchargez les scripts sur votre appareil. Dans la page du dépôt GitHub, vous pouvez sélectionner le téléchargement en tant que fichier ZIP et l’extraire sur votre appareil
  2. Dans une fenêtre PowerShell, exécutez «Import-Module <PathToScripts>\scripts\AppOrchestration.psd1 »

Note

Ces scripts nécessitent que l’utilisateur dispose de privilèges d’administration sur l’appareil et qu’il doit être exécuté à partir d’une console avec élévation de privilèges.

Il existe quatre applets de commande principales utilisées pour le flux d’inscription :

<Test-UpdaterRegistration PathToRegistrationFile>
Objectif : Valider le contenu d’un fichier d’inscription proposé (sans effectuer l’inscription). Permet à l’OEM d’itérer sur la charge utile du fichier d’inscription sans impacter l’appareil.

<Add-UpdaterRegistration PathToRegistrationFile>
Objectif : Valider et mettre en scène le contenu d’un fichier d’inscription à l’emplacement approprié, à intégrer au flux d’application accéléré.

<Get-UpdaterRegistration OEMName><UpdaterName>
Objectif : si OEMName et UpdaterName sont fournis, retournez un résumé d’une inscription existante qui correspond à ces valeurs. Si ces entrées sont omises, retournez un résumé de toutes les inscriptions actuelles présentes sur l’appareil.

Remove-UpdaterRegistration <OEMName><UpdaterName>
Objectif : Annulez toute inscription qui correspond aux valeurs OEMName et UpdaterName.

Exécution

L’infrastructure d’orchestrateur universel appelle automatiquement chacune des applications inscrites, en fonction de la priorité relative, dans les 30 premières minutes suivant l'accès d'un utilisateur au Bureau sur un nouvel appareil (ou pendant l’OOBE utilisateur si AllowedInOobe est défini sur true). Chaque application enregistrée ajoutée par le processus d'inscription OEM sera essayée jusqu'à ce que :

  • Il est correctement installé
  • Il dépasse le nombre maximal d’échecs spécifié dans MaxRetryCount. Après chaque échec, l’application entrera une période de refroidissement de 30 minutes avant de réessayer.

L’infrastructure d’Orchestrateur universel n’effectue pas de tentatives accélérées si l’une des conditions suivantes est remplie :

  • L’appareil n’a pas accès à Internet.
  • L’appareil se trouve sur un réseau à consommation mesurée.
  • L’appareil est sur batterie et l’économiseur de batterie est activé.
  • L'appareil est configuré avec une stratégie Windows Update de restriction du trafic réseau .
  • L’appareil est configuré avec une stratégie CTA qui n’est pas définie pour AutoApprove.

Dans chacun de ces cas, le cadre de l'orchestrateur universel garde les enregistrements en place jusqu'à ce que la configuration du dispositif permette de faire avancer les tentatives accélérées.

Si l’inscription de l’application contient des valeurs facultatives qui bloquent le flux accéléré (par exemple, en raison du type d’édition), l’infrastructure d’Orchestrateur universel considère cette demande d’inscription remplie et ne la réessaye pas, même si ces conditions peuvent changer ultérieurement sur un appareil.

Important

Soyez prudent lorsque vous optez pour accélérer les applications via cette infrastructure, car les opérations de mise à jour se produisent lorsque l’appareil peut être utilisé et peut entraîner un impact négatif sur les performances de l’expérience utilisateur sur un nouvel appareil.