Registrar um aplicativo OEM durante o processo de geração de imagens
Importante
O Universal Orchestrator fornece funcionalidade aos OEMs para registrar um aplicativo durante o processo de geração de imagens para executar uma instalação/atualização rápida única. Essa instalação ocorre dentro de 30 minutos após um usuário fazer logon em um novo dispositivo. Acelerar um aplicativo pode ter um impacto negativo no desempenho da experiência inicial ao usar novos dispositivos. Essa funcionalidade só está disponível nas versões do Windows que executam a atualização de versão prévia cumulativa sem segurança de novembro de 2024.
Windows 11 23H2 – KB5046732 (build do sistema operacional 22631.4541)
Windows 11 24H2 – KB5046740 (build do sistema operacional 26100.2454)
Requisitos
Para conectar-se à estrutura de aplicativos acelerada, o aplicativo deve atender aos seguintes requisitos:
Deve ser um aplicativo empacotado da Store no formato MSIX
Ele deve ter um PFN (Nome da Família de Produtos) válido
Inscrição
Os arquivos de registro são arquivos JSON ASCII que contêm metadados com informações sobre o fluxo acelerado desejado e qualquer direcionamento personalizado do lado do cliente que precise ser executado.
Aplicativos acelerados dão suporte a dois mecanismos para atualizar/adquirir um aplicativo:
Na Microsoft Store usando um ProductId (Recomendado)
De uma URL que contém um pacote MSIX ou um conjunto MSIX. Esse pacote deve conter um aplicativo empacotado da Store com um PFN (Nome da Família de Pacotes) válido. O Proprietário do Aplicativo ou OEM é responsável por manter essa URL.
Cada arquivo de registro deve conter as seguintes propriedades JSON necessárias:
Chave | Tipo | Descrição |
---|---|---|
PFN | Corda | O nome da família de pacotes do aplicativo (exemplo: Microsoft.WindowsStore_8wekyb3d8bbwe) |
OEMName | Corda | Cadeia de caracteres para representar o OEM criando este registro |
UpdaterName | Corda | Nome exclusivo para acompanhar esse registro acelerado |
Versão de Registro | Número | A versão deste registro de aplicativo |
Fonte | Corda | Valores permitidos: Repositório | CustomURL Loja Microsoft – pesquisa o aplicativo diretamente da Loja Microsoft CustomURL – pesquisa o aplicativo a partir de uma URL especificada no valor "Endpoint" do registro do aplicativo |
Cenário | Corda | Valores permitidos: Atualização | Aquisição | StubAcquisition Atualização – (sem suporte para fluxos CustomURL) tenta atualizar um aplicativo existente para sua versão mais recente disponível. Nenhum trabalho será feito se o aplicativo não estiver presente Aquisição – tenta adquirir a versão mais recente de um aplicativo. StubAcquisition – tenta adquirir um "stub" do aplicativo (se ele estiver disponível). Adquire o aplicativo completo se o stub não estiver disponível. |
IdentificaçãoDoProduto | Corda | (Necessário apenas para cenários de Loja) A ProductId do aplicativo da Loja desejado |
Endpoint | Corda | (Necessário apenas para cenários CustomURL) Um URI de cadeia de caracteres apontando para um local que hospeda um pacote MSIX. Deve ser um URI SSL que começa com 'https'. |
Além disso, as propriedades opcionais a seguir podem ser especificadas para modificar o comportamento da instalação acelerada do aplicativo ou para direcionar o fluxo acelerado para ocorrer somente em determinadas condições.
Amostras
aquisição de stub na Store, somente nos EUA e no México, para execução durante o OOBE
{
"OEMName": "Contoso",
"UpdaterName": "OEMApp1",
"RegistrationVersion":1,
"Source": "Store",
"Scenario": "StubAcquisition",
"PFN": "FakePackageFamilyName",
"ProductId": "StoreProductId",
"HonorDeprovisioning": true,
"AllowedInOobe": true,
"IncludedRegions": ["US", "MX"],
"Priority": 50
}
aquisição de aplicativo baseada em URL em dispositivos amd64, excluindo as edições Education e EducationN, no Windows 11 23H2 apenas (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
}
Ferramentas
Para facilitar o processo de registro e fornecer feedback acionável sobre os metadados de registro, os OEMs precisam usar os scripts do PowerShell AppOrchestration do seguinte local:
Os scripts executam a validação básica e preparam o registro para o local apropriado no dispositivo. Em quaisquer falhas, os scripts geram uma exceção com os detalhes específicos da falha.
Para usar os scripts:
Baixe os scripts em seu dispositivo. Na página de repositório do GitHub, você pode selecionar para baixar como um arquivo ZIP e extrair para seu dispositivo
Em uma janela do PowerShell, execute "Import-Module <PathToScripts>\scripts\AppOrchestration.psd1"
Nota
Esses scripts exigem que o usuário tenha privilégios administrativos no dispositivo e deve ser executado em um console com privilégios elevados.
Há quatro cmdlets principais usados para o processo de registro:
Test-UpdaterRegistration <PathToRegistrationFile>
Finalidade: validar o conteúdo de um arquivo de registro proposto (sem executar o registro). Permite que o OEM faça iterações na carga do arquivo de registro sem afetar o dispositivo.
Add-UpdaterRegistration <CaminhoParaArquivoDeRegistro>
Finalidade: validar e preparar o conteúdo de um arquivo de registro para o local apropriado, para integrar ao fluxo de aplicativo acelerado.
Get-UpdaterRegistration <OEMName><updaterName>
Finalidade: se OEMName e UpdaterName forem fornecidos, retorne um resumo de um registro existente que corresponda a esses valores. Se essas entradas forem omitidas, retorne um resumo de todos os registros atuais presentes no dispositivo.
Remove-UpdaterRegistration <OEMName><UpdaterName>
Finalidade: cancele o cancelamento de qualquer registro que corresponda aos valores OEMName e UpdaterName.
Execução
A estrutura do Orquestrador Universal invoca automaticamente cada um dos aplicativos registrados, em sequência com base na prioridade relativa, nos primeiros 30 minutos de um usuário que atinge a Área de Trabalho em um novo dispositivo (ou durante o OOBE do Usuário se AllowedInOobe estiver definido como true). Cada aplicativo registrado adicionado pelo processo de registro OEM será tentado até:
Ele foi instalado com êxito
Ele supera o número máximo de falhas especificadas em MaxRetryCount. Após cada falha, o aplicativo entrará em um período de resfriamento de 30 minutos antes de tentar novamente.
A estrutura do Orquestrador Universal não executará tentativas aceleradas se qualquer uma das seguintes condições for verdadeira:
O dispositivo não tem acesso à Internet.
O dispositivo está em uma rede medida.
O dispositivo está em bateria e a economia de bateria está habilitada.
O dispositivo é configurado com uma política de tráfego de rede restrita Windows Update.
O dispositivo está configurado com uma política de CTA que não está definida para AutoApprove.
Em cada um desses casos, a estrutura do Orquestrador Universal mantém os registros em vigor até que a configuração do dispositivo permita que as tentativas aceleradas prossigam.
Se o registro do aplicativo contiver valores opcionais que bloqueiam o fluxo acelerado (por exemplo, devido ao tipo de edição), a estrutura do Orquestrador Universal considerará essa solicitação de registro atendida e não tentará novamente, mesmo que essas condições possam ser alteradas posteriormente em um dispositivo.
Importante
Tenha cuidado ao optar por agilizar aplicativos por meio dessa estrutura, pois as operações de atualização ocorrem quando o dispositivo pode estar em uso e pode causar um impacto negativo no desempenho da experiência do usuário em um novo dispositivo.