Integrando aplicativos de gerenciamento com Microsoft 365 Apps instalador click-to-run
Saiba como integrar o instalador Microsoft 365 Apps Clique para Executar com uma solução de gerenciamento de software.
O instalador Microsoft 365 Apps Click-to-Run fornece uma interface COM que permite aos profissionais de TI e às soluções de gerenciamento de software controle programático sobre o gerenciamento de atualizações. Essa interface tem recursos adicionais de gerenciamento além do que é fornecido pela Ferramenta de Implantação do Office.
Observação
Este artigo se aplica aos aplicativos do Office que usam o instalador Click-to-Run.
Integração ao Clique para Executar
Para usar essa interface, um aplicativo de capacidade de gerenciamento invoca a interface COM e chama APIs expostas que se comunicam diretamente com o serviço de instalação Clique para Executar.
Observação
O instalador Clique para Executar do Office pode ser executado na linha de comando com parâmetros que podem controlar o comportamento, conforme documentado em Ferramenta de Implantação do Office para Clique para Executar.
Veja a seguir um diagrama conceitual da interface COM
O instalador Microsoft 365 Apps Click-to-Run implementa uma interface baseada em COM, IUpdateNotify registrada no CLSID CLSID_UpdateNotifyObject.
Essa interface pode ser invocada da seguinte maneira:
hr = CoCreateInstance(CLSID_UpdateNotifyObject, NULL, CLSCTX_ALL,
IID_IUpdateNotify,
(void **)&p);
A chamada será bem-sucedida se o autor da chamada estiver em execução sob privilégios elevados, pois o programa de instalação Clique para Executar deve ser executado com privilégios elevados.
A interface COM IUpdateNotify expõe três funções assíncronas responsáveis por validar os comandos e parâmetros, bem como agendar a execução com o serviço de instalação Clique para Executar.
HRESULT Download([in] LPWSTR pcwszParameters) // Download update content.
HRESULT Apply([in] LPWSTR pcwszParameters) // Apply update content.
HRESULT Cancel() // Cancel the download action.
Um quarto método, Status, pode ser usado para obter informações sobre o status do último comando executado ou o status do comando em execução no momento (isto é, êxito, falha, códigos de erro detalhados).
HRESULT status([out] _UPDATE_STATUS_REPORT* pUpdateStatusReport) // Get status of current action.
typedef struct _UPDATE_STATUS_REPORT
{
UPDATE_STATUS status;
UINT error;
BSTR contentid;
} UPDATE_STATUS_REPORT;
Há quatro estados em que o serviço de instalação Clique para Executar pode estar durante o seu ciclo de vida, durante o qual os métodos IUpdateNotify podem ser chamados; Reinicializando, Ocioso, Baixando e Aplicando.
Veja a seguir o diagrama de Máquina de Estado da interface COM
Observação
Reinicializando: quando o computador está sendo inicializado, há um período em que o serviço instalador Clique para Executar fica indisponível. Uma chamada bem-sucedida ao método Status após uma reinicialização retornará eUPDATE_UNKNOWN.
Ocioso: quando o instalador Clique para Executar estiver no estado ocioso, você poderá chamar:
Aplicar: instala o conteúdo anteriormente baixado.
Cancelar: Retorna
0x800000e
, "Um método foi chamado em um momento inesperado".Baixar: baixa novo conteúdo no cliente para instalação posterior.
Status: retorna o resultado da última ação concluída ou uma mensagem de erro se a ação terminou em falha. Se não houver nenhuma ação anterior, Status retornará
eUPDATE_UNKNOWN
.
Baixando: quando o instalador Clique para Executar estiver no estado baixando, você poderá chamar:
Aplicar: retorna um HRESULT com o valor
0x800000e
, "Um método foi chamado em um momento inesperado".Cancelar: interrompe o download e remove o conteúdo parcialmente baixado.
Download: retorna um HRESULT com o valor
0x800000e
, "Um método foi chamado em um momento inesperado".Status: retorna DOWNLOAD_WIP para indicar que o trabalho de download está em andamento.
Aplicando: quando o instalador Clique para Executar estiver no processo de instalação do conteúdo anteriormente baixado:
Aplicar: retorna um HRESULT com o valor
0x800000e
, "Um método foi chamado em um momento inesperado".Cancelar: Retorna
0x800000e
, a ação Aplicar não pode ser cancelada.Download: retorna um HRESULT com o valor
0x800000e
, "Um método foi chamado em um momento inesperado".Status: retorna APPLY_WIP para indicar que o trabalho de aplicação está em andamento.
Observação
Uma vez que OfficeC2RCOM é um serviço COM+ e foi dinamicamente carregado, é preciso chamar CoCreateInstance toda vez que você chama um método nessa classe, a fim de garantir a obtenção do resultado esperado. O serviço COM+ tratará de criar uma nova instância, se necessário. Quando um dos métodos é chamado pela primeira vez, COM+ carregará o objeto IUpdateNotify e o executará em uma das instâncias de dllhost.exe. O novo objeto permanecerá ativo por aproximadamente 3 minutos em estado ocioso. Se uma chamada subsequente for feita dentro de três minutos, a contar da última chamada, o objeto IUpdateNotify permanecerá carregado e não será criada uma nova instância. Se nenhuma chamada for feita em três minutos, o objeto IUpdateNotify será descarregado e um novo objeto IUpdateNotify será criado quando a próxima chamada for feita.
Guia de referência da API COM do instalador Clique para Executar
Na seguinte documentação de referência de API:
Os parâmetros estão em um formato de par chave/valor separados por um espaço.
Os parâmetros não diferenciam maiúsculas de minúsculas.
Para obter mais informações, consulte Informações sobre instalações do Office Click-to-Run e sobre aplicativos anti-malware relacionados.
Agora, o resumo da interface IUpdateNotify2 está incluído.
Aplicar
HRESULT Apply([in] LPWSTR pcwszParameters) // Apply update content.
Parâmetros
displaylevel: true para mostrar o status da instalação, incluindo erros, durante o processo de atualização; false para ocultar o status da instalação, incluindo erros, durante o processo de atualização. O padrão é false.
forceappshutdown: true para forçar os aplicativos do Office a desligarem imediatamente quando a ação Aplicar for disparada; false para falha, se algum aplicativo do Office estiver em execução. O padrão é false. Veja Comentários para saber mais.
Se algum aplicativo do Office estiver em execução quando a ação Aplicar for disparada, a ação Aplicar normalmente falha. A passagem
forceappshutdown=true
para o método Apply fará com que o serviço OfficeClickToRun desligue imediatamente os aplicativos e aplique a atualização. O usuário poderá enfrentar perda de dados nesse caso.
Retornar resultados
Resultado | Descrição |
---|---|
S_OK |
A ação foi enviada com êxito ao serviço Clique para Executar para execução. |
E_ACCESSDENIED |
O autor da chamada não está em execução com privilégios elevados. |
E_INVALIDARG |
Parâmetros inválidos foram passados. |
E_ILLEGAL_METHOD_CALL |
A ação não é permitida neste momento. Veja Comentários para saber mais. |
Comentários
Se algum aplicativo do Office estiver em execução quando a ação Aplicar for disparada, a ação Aplicar falhará. A passagem
forceappshutdown=true
para o método Apply fará com que o serviço OfficeClickToRun desligue imediatamente todos os aplicativos do Office que estão em execução e aplique a atualização. O usuário pode sofrer perda de dados, uma vez que não é solicitado que salve as alterações em documentos abertos.Essa ação poderá ser disparada somente quando o status COM for um dos seguintes:
eUPDATE_UNKNOWN
eDOWNLOAD_CANCELLED
eDOWNLOAD_FAILED
eDOWNLOAD_SUCCEEDED
eAPPLY_SUCCEEDED
eAPPLY_FAILED
Se você chamar o método Apply sem baixar o conteúdo antes, o método Apply indicará Êxito, pois ele não detectou nada a ser aplicado e concluiu o processo Apply com êxito.
Cancelar
HRESULT Cancel() // Cancel the download action.
Retornar resultados
Resultado | Descrição |
---|---|
S_OK |
A ação foi enviada com êxito ao serviço Clique para Executar para execução. |
E_ILLEGAL_METHOD_CALL |
A ação não é permitida neste momento. Consulte a seção Comentários para obter mais informações |
Comentários
- Esse método poderá ser disparado somente quando o status COM for eDOWNLOAD_WIP. Ele tentará cancelar a ação de download atual. O status COM será alterado para eDOWNLOAD_CANCELLING e, por fim, para eDOWNLOAD_CANCELED. O status COM retornará E_ILLEGAL_METHOD_CALL se disparado em qualquer outro momento.
Baixar
HRESULT Download([in] LPWSTR pcwszParameters) // Download update content.
Parâmetros
- displaylevel: true para mostrar o status da instalação, incluindo erros, durante o processo de atualização; false para ocultar o status da instalação, incluindo erros, durante o processo de atualização. O padrão é false.
- updatebaseurl: URL para a fonte alternativa de download.
- updatetoversion: a versão para a qual atualizar o Office. Defina esse parâmetro se desejar atualizar para um versão mais antiga do que a versão que está atualmente instalada.
- downloadsource: CLSID da implementação IBackgroundCopyManager personalizada (gerenciador do BITS).
- contentid: identifica o conteúdo a ser baixado do servidor de conteúdo por meio do gerenciador do BITS personalizado. Esse valor é passado pela interface do BITS para interpretação.
Retornar resultados
Resultado | Descrição |
---|---|
S_OK |
A ação foi enviada com êxito ao serviço Clique para Executar para execução. |
E_ACCESSDENIED |
O autor da chamada não está em execução com privilégios elevados. |
E_INVALIDARG |
Parâmetros inválidos foram passados. |
E_ILLEGAL_METHOD_CALL |
A ação não é permitida neste momento. Veja Comentários para saber mais. |
Comentários
Você deve especificar downloadsource e contentid como um par. Caso contrário, o método Baixar retornará um erro E_INVALIDARG.
Se o downloadsource, contentid e updatebaseurl for fornecido, updatebaseurl será ignorado.
Essa ação poderá ser disparada somente quando o status COM for um dos seguintes:
eUPDATE_UNKNOWN
eDOWNLOAD_CANCELLED
eDOWNLOAD_FAILED
eDOWNLOAD_SUCCEEDED
eAPPLY_SUCCEEDED
eAPPLY_FAILED
Se você chamar o método Apply sem o conteúdo baixado anteriormente, o método Apply indicará Êxito, pois ele não detectou nada a ser aplicado e concluiu o processo Apply com êxito.
Exemplos
Para baixar o conteúdo do gerenciador do BITS personalizado: chame a função download() passando os seguintes parâmetros:
"downloadsource=CLSIDofBITSInterface contentid=BITSServerContentIdentifier"
Para baixar o conteúdo da CDN (Rede de Entrega de Conteúdo do Office): chame a função download() sem especificar os parâmetros downloadsource, contentid ou updatebaseurl .
Para baixar o conteúdo de um local personalizado: chame a função download() passando o seguinte parâmetro:
"updatebaseurl=yourcontentserverurl"
Status
typdef struct _UPDATE_STATUS_REPORT
{
UPDATE_STATUS status;
UINT error;
LPCWSTR contentid;
}UPDATE_STATUS_REPORT;
HRESULT status([out] _UPDATE_STATUS_REPORT& pUpdateStatusReport) // Get status of current action
Parâmetros
Parâmetro | Descrição |
---|---|
pUpdateStatusReport |
Ponteiro para uma estrutura UPDATE_STATUS_REPORT. |
Retornar resultados
Resultado | Descrição |
---|---|
S_OK |
O método Status sempre retorna esse resultado. Inspecione a UPDATE_STATUS_RESULT estrutura para o status da ação atual. |
Comentários
O campo status do
UPDATE_STATUS_REPORT
contém o status da ação atual. Um dos seguintes valores de status é retornado:typedef enum _UPDATE_STATUS { eUPDATE_UNKNOWN = 0, eDOWNLOAD_PENDING, eDOWNLOAD_WIP, eDOWNLOAD_CANCELLING, eDOWNLOAD_CANCELLED, eDOWNLOAD_FAILED, eDOWNLOAD_SUCCEEDED, eAPPLY_PENDING, eAPPLY_WIP, eAPPLY_SUCCEEDED, eAPPLY_FAILED, } UPDATE_STATUS;
Se o último comando resultou em um erro, o campo de erro do
UPDATE_STATUS_REPORT
contém informações detalhadas sobre o erro. Dois tipos de código de erro são retornados do método Status.Se o erro for menor que
UPDATE_ERROR_CODE::eUNKNOWN
, o erro será um dos seguintes códigos de erro pré-definidos:typedef enum _UPDATE_ERROR_CODE { eOK = 0, eFAILED_UNEXPECTED, eTRIGGER_DISABLED, ePIPELINE_IN_USE, eFAILED_STOP_C2RSERVICE, eFAILED_GET_CLIENTUPDATEFOLDER, eFAILED_LOCK_PACKAGE_TO_UPDATE, eFAILED_CREATE_STREAM_SESSION, eFAILED_PUBLISH_WORKING_CONFIGURATION, eFAILED_DOWNLOAD_UPGRADE_PACKAGE, eFAILED_APPLY_UPGRADE_PACKAGE, eFAILED_INITIALIZE_RSOD, eFAILED_PUBLISH_RSOD, // Keep this one as the last eUNKNOWN } UPDATE_ERROR_CODE;
Se o código de erro de retorno for maior que
UPDATE_ERROR_CODE::eUNKNOWN
o HRESULT de uma chamada de função com falha. Para extrair a subtraçãoUPDATE_ERROR_CODE::eUNKNOWN
HRESULT do valor retornado no campo de erro doUPDATE_STATUS_REPORT
.A lista completa de valores de status e erro pode ser exibida inspecionando a biblioteca de tipos IUpdateNotify inserida em OfficeC2RCom.dll.
O campo contentid é usado para chamadas a Status depois que Baixar tiver sido iniciado e retornar o contentid que foi passado à chamada Baixar. É uma prática recomendada inicializar esse campo como nulo antes chamar o método Status e, em seguida, verificar o valor depois que Status tiver sido retornado. Se o valor ainda for null, isso significa que não há contentid a ser retornado. Se o valor não for null, você precisará liberá-lo com um chamada a SysFreeString(). Veja um trecho de código de como chamar Status após Baixar.
std::wstring contentID; UPDATE_STATUS_REPORT statusReport; statusReport.status = eUPDATE_UNKNOWN; statusReport.error = eOK; statusReport.contentid = NULL; hr = p->Status(&statusReport); if (statusReport.contentid != NULL) { contentID = statusReport.contentid; SysFreeString(statusReport.contentid); } wprintf(L"ContentID: %s, Status: %d, LastError: %d", contentID.c_str(), statusReport.status, statusReport.error);
Resumo da interface IUpdateNotify2
Na versão [16.0.8208.6352] adicionamos uma nova interface IUpdateNotify2 .
CLSID_UpdateNotifyObject2, {52C2F9C2-F1AC-4021-BF50-756A5FA8DDFE}
Essa interface também hospedava a interface IUpdateNotify original para fornecer compatibilidade com versões anteriores. Isso significa que, ao usar essa interface, você terá acesso a todos os métodos fornecidos na interface UpdateNotifyObject.
Novos métodos adicionados a IUpdateNotify2:
HRESULT GetBlockingApps([out] BSTR * AppsList). Obtenha a lista de aplicativos de bloqueio de atualizações. Essa chamada retornará os aplicativos do Office em execução que impedirão o processo de atualização de prosseguir.
HRESULT GetOfficeDeploymentData([in] int dataType, [in] LPCWSTR pcwszName, [out] BSTR * OfficeData). Obtenha os dados de implantação do Office.
Se desejar usar os novos métodos, você precisará garantir:
Que a sua versão C2R seja mais nova do que o build acima (> = build fork de junho).
O uso de UpdateNotifyObject2, em vez de UpdateNotifyObject para chamar CoCreateInstance.
Se você não usar qualquer um dos métodos novos, não será necessário alterar nada. Todos os métodos existentes funcionarão exatamente da mesma maneira que antes.
Como implantar a interface do BITS
O BITS (Serviço de Transferência Inteligente em Segundo Plano) é um serviço fornecido pela Microsoft para transferir arquivos entre um cliente e um servidor. O BITS é um dos canais que o instalador Clique para Executar do Office pode usar para baixar conteúdo. Por padrão, o instalador Microsoft 365 Apps Click-To-Run usa a implementação interna do BITS do Windows para baixar o conteúdo da CDN.
Ao fornecer uma implementação do BITS personalizado ao método download() da interface IUpdateNotify, seu software de capacidade de gerenciamento pode controlar onde e como o cliente baixa o conteúdo. Uma interface bits personalizada é útil ao fornecer um canal de distribuição de conteúdo personalizado diferente dos canais internos Clique para Executar, como CDN, servidores IIS ou compartilhamentos de arquivos.
O requisito mínimo para uma interface do BITS personalizado trabalhar com o serviço C2R do Office é:
Para IBackgroundCopyManager:
HRESULT _stdcall CreateJob( [in] LPWSTR DisplayName, [in] BG_JOB_TYPE Type, [out] GUID* pJobId, [out] IBackgroundCopyJob** ppJob) HRESULT _stdcall GetJob( [in] GUID* jobID, [out] IBackgroundCopyJob** ppJob) HRESULT _stdcall EnumJobs( [in] unsigned long dwFlags, [out] IEnumBackgroundCopyJobs** ppenum)
Para IBackgroundCopyJob:
HRESULT _stdcall AddFile( [in] LPWSTR RemoteUrl, [in] LPWSTR LocalName) HRESULT _stdcall Resume() HRESULT _stdcall Complete() HRESULT _stdcall Cancel(); HRESULT _stdcall GetState([out] BG_JOB_STATE* pVal); HRESULT GetProgress( [out] BG_JOB_PROGRESS *pProgress);
Para IBackgroundCopyJob3:
HRESULT _stdcall AddFileWithRanges( [in] LPWSTR RemoteUrl, [in] LPWSTR LocalName, [in] DWORD RangeCount, [in] BG_FILE_RANGE Ranges[])
Para as
Addfile
funções eAddFileWithRanges
, o URL remota está no seguinte formato:cmbits://<contentid>/<relative path to target file>
cmbits é embutido em código e significa o BITS personalizado.
<contentid> é o parâmetro contentid para o método Download().
<caminho relativo para arquivo de destino> fornece o local e o nome do arquivo para download.
Por exemplo, se você tiver fornecido um contentid do
f732af58-5d86-4299-abe9-7595c35136ef
método Download() e o Office C2R quiser baixar o arquivo de táxi de versão, comov32.cab
arquivo, ele chamará AddFile() com o seguinteRemoteUrl
:
cmbits://f732af58-5d86-4299-abe9-7595c35136ef/Office/Data/V32.cab
Para IBackgroundCopyError:
HRESULT _stdcall GetErrorDescription( [in] DWORD LanguageId, [out] LPWSTR *ppErrorDescription);
Para IBackgroundCopyFile:
HRESULT _stdcall GetLocalName([out] LPWSTR *ppName); HRESULT _stdcall GetRemoteName([out] LPWSTR *ppName);
Como automatizar o preparo do conteúdo
Os administradores de TI podem optar por ter clientes da área de trabalho habilitados para receber atualizações automaticamente quando estiverem disponíveis diretamente da CDN ou optarem por controlar a implantação de atualizações disponíveis nos canais de atualização usando a Ferramenta de Implantação do Office ou o Microsoft Endpoint Configuration Manager.
O serviço dá suporte à capacidade das ferramentas de gerenciamento de reconhecer e automatizar o download do conteúdo quando as atualizações são disponibilizadas.
A imagem a seguir é uma visão geral de como baixar uma imagem personalizada
Visão geral de como baixar uma imagem personalizada
No diagrama anterior, você verá que uma nova imagem de Microsoft 365 Apps está disponível na CDN. Junto com a imagem Microsoft 365 Apps, uma API está disponível que tem as informações necessárias para permitir que o software de gerenciabilidade crie diretamente imagens personalizadas substituindo a necessidade de usar a Ferramenta de Implantação do Office.
Uma empresa configura seu WSUS para sincronizar as atualizações de Microsoft 365 Apps. Essas atualizações não contêm a carga real da imagem, mas permitem que o software de capacidade de gerenciamento reconheça quando conteúdo novo está disponível. Em seguida, o software de gerenciabilidade pode ler os metadados Microsoft 365 Apps Atualizar para entender a qual versão do Office a atualização se aplica.
Se a atualização for aplicável, o software de capacidade de gerenciamento pode usar o conteúdo da CDN e a lista de arquivos para criar a imagem personalizada e armazená-la no local do compartilhamento de arquivos que ele está configurado para usar.
Usando a API da lista de arquivos Microsoft 365 Apps
A API da lista de arquivos Microsoft 365 Apps é usada para recuperar os nomes dos arquivos necessários para uma atualização Microsoft 365 Apps específica.
Solicitação HTTP
GET https://clients.config.office.net/releases/v1.0/filelist
Não forneça um corpo de solicitação para esse método.
Nenhuma permissão é necessária para chamar essa API.
Parâmetros de consulta opcionais
Nome | Descrição |
---|---|
Canal |
Especifica o nome do canal Opcional – padrão para 'Semestral' Valores <com suporte /DeployOffice/office-deployment-tool-configuration-options#channel-attribute-part-of-add-element.md> |
versão |
Especifica a versão de atualização Opcional – padrão para a versão mais recente disponível para o canal especificado |
Arco |
Especifica a arquitetura do cliente Opcional – padrão para 'x64' Valores com suporte: x64, x86 |
lid |
Especifica os arquivos de idioma a serem incluídos Opcional – padrão para nenhum Para especificar vários idiomas, inclua um parâmetro de consulta de tampa para cada idioma Use o formato do identificador de idioma, ex. 'en-us', 'fr-fr' |
alllanguages |
Especifica para incluir todos os arquivos de idioma Opcional – padrão para false |
Resposta HTTP
Se for bem-sucedido, esse método retornará um código de resposta de 200 OK e uma coleção de objetos de arquivo no corpo da resposta.
Para criar uma imagem, siga estas etapas:
- Chame a API, fornecendo os parâmetros de consulta apropriados para o canal, a versão e a arquitetura da atualização em que você está interessado. Observação: objetos de arquivo com o atributo "lcid": "0" são arquivos neutros de linguagem e devem ser incluídos na imagem.
- Construa uma imagem local da CDN iterando através dos objetos de arquivo e copiando os arquivos CDN, ao mesmo tempo em que cria a estrutura da pasta conforme especificado pelo atributo "relativePath" definido para cada um dos objetos de arquivo.
O exemplo a seguir recupera a lista de arquivos para o Canal Atual e a versão 16.0.4229.1004 para 64bit e inclui os arquivos em francês e inglês.
Get https://clients.config.office.net/releases/v1.0/filelist?Channel=Current&Version=16.0.4229.1004&Arch=x64&Lid=fr-fr&Lid=en-US
Verificação de hash de arquivos .dat
As ferramentas de criação de imagem podem verificar a integridade dos arquivos .dat baixados comparando um valor de hash computado com o valor de hash fornecido associado a cada um dos arquivos .dat. A seguir está um exemplo de um objeto de arquivo que especifica valores hashLocation e hashAlgorithm:
{
"url": "https://officecdn.microsoft.com/pr/7ffbc6bf-bc32-4f92-8982-f9dd17fd3114/office/data/16.0.1234.1001/stream.x64.x-none.dat",
"name": "stream.x64.x-none.dat",
"relativePath": "/office/data/16.0.1234.1001/",
"hashLocation": "s640.cab/stream.x64.x-none.hash",
"hashAlgorithm": "Sha256",
"lcid": "0"
},
O atributo hashLocation especifica o local de caminho relativo de .cab arquivo que contém o valor de hash. Crie o local do arquivo hash concatenando a URL + relativePath + hashLocation. No seguinte exemplo, o local stream.x64.bg-bg.hash seria:
https://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/office/data/16.0.4229.1004/s641026.cab/stream.x64.bg-bg.hash
O atributo hashAlgorithm especifica qual algoritmo de hash foi usado.
Para validar a integridade do arquivo stream.x64.bg-bg.dat, abra o stream.x64.bg-bg.hash e leia o valor do HASH, que é a primeira linha do texto no arquivo de hash. Compare-o com o valor do hash calculado (usando o algoritmo de hash especificado) para verificar a integridade do arquivo .dat baixado.
O exemplo a seguir mostra o código C# para leitura do hash.
string[] readHashes = System.IO.File.ReadAllLines(tmpFile, Encoding.Unicode); string readHash = readHashes.First();
Microsoft 365 Apps Atualizações
Todos os Microsoft 365 Apps Atualizações são publicados no Catálogo de Atualizações da Microsoft.
Microsoft 365 Apps Atualizações permitir que o software de gerenciabilidade trate Microsoft 365 Apps Atualizações de maneira muito semelhante a qualquer outra atualização wu com uma exceção; as atualizações do cliente não contêm uma carga real. O Microsoft 365 Apps Atualizações não deve ser instalado em nenhum cliente, mas sim usado para disparar os fluxos de trabalho com o software de gerenciabilidade substituindo o comando de instalação pelo mecanismo de instalação baseado em COM mostrado acima.
A figura a seguir mostra um diagrama do fluxo de trabalho da Atualização de Cliente do Office 365.
Cada Microsoft 365 Apps Atualização publicada inclui metadados sobre a atualização. Esses metadados incluem um parâmetro chamado MoreInfoUrl que pode ser usado para derivar a chamada de API para a API da lista de arquivos para essa atualização específica.
No exemplo a seguir, a API da lista de arquivos está inserida no MoreInfoURL e começa com "ServicePath="
https://go.microsoft.com/fwlink/?LinkId=626090& ; Ver=16.0.12527.21104&Branch=Insiders&Arch=64&XMLVer=1,6&xmlPath=http://officecdn.microsoft.com/pr/wsus/ofl.cab& xmlFile=O365Client_64bit.xml& ServicePath=https://go.microsoft.com/fwlink/?linkid=2190568& Channel=Insiders&Version=16.0.12527.21104&Arch=64&AllLanguages=True
Metadados adicionais para automatização do preparo de conteúdo
API de Descoberta de Versão
A API de descoberta de versão Microsoft 365 Apps é usada para recuperar detalhes de cada uma das atualizações publicadas na CDN junto com os nomes do canal e outros atributos de canal.
Solicitação HTTP
GET [https://clients.config.office.net/releases/v1.0/filelist/channels](https://clients.config.office.net/releases/v1.0/filelist/channels)
Não forneça um corpo de solicitação para esse método.
Nenhuma permissão é necessária para chamar essa API.
Resposta HTTP
Se for bem-sucedido, esse método retornará um código de resposta de 200 OK e uma coleção de objetos de arquivo no corpo da resposta.
SKUs API
A API skus retorna informações úteis para determinar quais produtos estão disponíveis para implantação e manutenção da CDN do Office, juntamente com várias opções para cada um.
Solicitação HTTP
GET [https://clients.config.office.net/releases/v1.0/filelist/skus](https://clients.config.office.net/releases/v1.0/filelist/skus)
Não forneça um corpo de solicitação para esse método.
Nenhuma permissão é necessária para chamar essa API.
Resposta HTTP
Se for bem-sucedido, esse método retornará um código de resposta de 200 OK e uma coleção de objetos de arquivo no corpo da resposta.