Compartir a través de


Integración de aplicaciones de capacidad de administración con Aplicaciones Microsoft 365 instalador de hacer clic y ejecutar

Obtenga información sobre cómo integrar el instalador de Aplicaciones Microsoft 365 Hacer clic y ejecutar con una solución de administración de software.

El instalador de hacer clic y ejecutar Aplicaciones Microsoft 365 proporciona una interfaz COM que permite a los profesionales de TI y a las soluciones de administración de software controlar mediante programación la administración de actualizaciones. Esta interfaz proporciona funcionalidades de administración adicionales más allá de lo que proporciona la herramienta de implementación de Office.

Nota:

Este artículo se aplica a las aplicaciones de Office que usan el instalador hacer clic y ejecutar.

Integración con click-to-run

Para usar esta interfaz, una aplicación de administración invoca la interfaz COM y llama a las API expuestas que se comunican directamente con el servicio de instalación Hacer clic y ejecutar.

Nota:

El instalador de hacer clic y ejecutar de Office se puede ejecutar desde la línea de comandos con parámetros que pueden controlar el comportamiento, como se documenta en Herramienta de implementación de Office para hacer clic y ejecutar.

A continuación se muestra un diagrama conceptual de la interfaz COM.

Diagrama del uso de la interfaz COM en el instalador de hacer clic y ejecutar de Office.

El instalador de hacer clic y ejecutar Aplicaciones Microsoft 365 implementa una interfaz basada en COM, IUpdateNotify registrada en CLSID CLSID_UpdateNotifyObject.

Esta interfaz se puede invocar de la siguiente manera:

hr = CoCreateInstance(CLSID_UpdateNotifyObject, NULL, CLSCTX_ALL,
       IID_IUpdateNotify, 
      (void **)&p); 

La llamada solo se realizará correctamente si el autor de la llamada se ejecuta con privilegios elevados, ya que el programa de instalación Hacer clic y ejecutar debe ejecutarse con privilegios elevados.

La interfaz COM IUpdateNotify expone tres funciones asincrónicas responsables de validar los comandos y parámetros y programar la ejecución con el servicio de instalación Hacer clic y ejecutar.

HRESULT Download([in] LPWSTR pcwszParameters) // Download update content.
HRESULT Apply([in] LPWSTR pcwszParameters) // Apply update content.
HRESULT Cancel() // Cancel the download action.

Un método siguiente, Status, se puede usar para obtener información sobre el estado del último comando ejecutado o el estado del comando en ejecución (es decir, correcto, error, códigos de error detallados).

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;

Hay cuatro estados en los que el servicio de instalación Click-to-Run puede estar en durante su ciclo de vida, durante el cual se puede llamar a métodos IUpdateNotify ; Reinicio, inactividad, descarga y aplicación.

A continuación se muestra el diagrama de la máquina de estado de la interfaz COM.

Diagrama de estado para la interfaz COM.

Nota:

Reinicio: cuando la máquina se inicia, hay un período de tiempo en el que el servicio del instalador Hacer clic y ejecutar no está disponible. Una llamada correcta al método Status después de un reinicio devolverá eUPDATE_UNKNOWN.

Inactivo: Cuando el instalador hacer clic y ejecutar está en estado inactivo, puede llamar a:

  • Aplicar: instale el contenido descargado anteriormente.

  • Cancel: devuelve 0x800000e, "Se llamó a un método en un momento inesperado".

  • Descargar: descarga contenido nuevo en el cliente para una instalación posterior.

  • Estado: devuelve el resultado de la última acción completada o un mensaje de error si la acción terminó en error. Si no hay ninguna acción anterior, Status devuelve eUPDATE_UNKNOWN.

Descargar: Cuando el instalador hacer clic y ejecutar está en estado de descarga, puede llamar a:

  • Apply: devuelve un HRESULT con el valor 0x800000e, "Se llamó a un método en un momento inesperado".

  • Cancelar: detiene la descarga y quita el contenido parcialmente descargado.

  • Descargar: devuelve un valor HRESULT con el valor 0x800000e, "Se llamó a un método en un momento inesperado".

  • Estado: devuelve DOWNLOAD_WIP para indicar que el trabajo de descarga está en curso.

Aplicar: Cuando el instalador hacer clic y ejecutar está en proceso de instalación del contenido de descarga anterior:

  • Apply: devuelve un HRESULT con el valor 0x800000e, "Se llamó a un método en un momento inesperado".

  • Cancelar: devuelve 0x800000e, no se puede cancelar la acción Aplicar.

  • Descargar: devuelve un valor HRESULT con el valor 0x800000e, "Se llamó a un método en un momento inesperado".

  • Estado: devuelve APPLY_WIP para indicar que el trabajo de aplicación está en curso.

Nota:

Puesto que OfficeC2RCOM es un servicio COM+ y se carga dinámicamente, debe llamar a CoCreateInstance cada vez que llame a un método en esta clase para asegurarse de que obtiene el resultado esperado. El servicio COM+ controlará la creación de una nueva instancia si es necesario. Cuando se llama a uno de los métodos por primera vez, COM+ cargará el objeto IUpdateNotify y lo ejecutará en una de las instancias de dllhost.exe. El nuevo objeto permanecerá activo durante unos 3 minutos en inactividad. Si se realiza una llamada posterior en los tres minutos siguientes a la última llamada, el objeto IUpdateNotify permanecerá cargado y no se creará una nueva instancia. Si no se realiza ninguna llamada en un plazo de tres minutos, se descargará el objeto IUpdateNotify y se creará un nuevo objeto IUpdateNotify cuando se realice la siguiente llamada.

Guía de referencia de la API COM del instalador de hacer clic y ejecutar

En la siguiente documentación de referencia de API:

Aplicar

HRESULT Apply([in] LPWSTR pcwszParameters) // Apply update content.

Parameters

  • displaylevel: true para mostrar el estado de instalación, incluidos los errores, durante el proceso de actualización; false para ocultar el estado de instalación, incluidos los errores, durante el proceso de actualización. El valor predeterminado es false.

  • forceappshutdown: true para forzar que las aplicaciones de Office se apaguen inmediatamente cuando se desencadene la acción Aplicar ; false para producir un error si se está ejecutando alguna aplicación de Office. El valor predeterminado es false. Vea Comentarios para obtener más información.

    Si se ejecuta alguna aplicación de Office cuando se desencadena la acción Aplicar , normalmente se producirá un error en la acción Aplicar . Pasar forceappshutdown=true al método Apply hará que el servicio OfficeClickToRun apague inmediatamente las aplicaciones y aplique la actualización. El usuario puede experimentar pérdida de datos en este caso.

Resultados devueltos

Resultado Descripción
S_OK
La acción se envió correctamente al servicio Hacer clic y ejecutar para su ejecución.
E_ACCESSDENIED
El autor de la llamada no se ejecuta con privilegios elevados.
E_INVALIDARG
Se pasaron parámetros no válidos.
E_ILLEGAL_METHOD_CALL
No se permite la acción en este momento. Vea Comentarios para obtener más información.

Comentarios

  • Si se ejecuta alguna aplicación de Office cuando se desencadena la acción Aplicar , se producirá un error en la acción Aplicar . Pasar forceappshutdown=true al método Apply hará que el servicio OfficeClickToRun cierre inmediatamente las aplicaciones de Office que se ejecutan y aplican la actualización. El usuario puede experimentar datos, ya que no se le pide que guarde los cambios para abrir documentos.

  • Esta acción solo se puede desencadenar cuando el estado COM es uno de los siguientes:

    • eUPDATE_UNKNOWN

    • eDOWNLOAD_CANCELLED

    • eDOWNLOAD_FAILED

    • eDOWNLOAD_SUCCEEDED

    • eAPPLY_SUCCEEDED

    • eAPPLY_FAILED

  • Si llama al método Apply sin descargar previamente el contenido, el método Apply notificará Correcto, ya que no detectó nada que aplicar y completó correctamente el proceso Apply .

Cancelar

HRESULT Cancel() // Cancel the download action.

Resultados devueltos

Resultado Descripción
S_OK
La acción se envió correctamente al servicio Hacer clic y ejecutar para su ejecución.
E_ILLEGAL_METHOD_CALL
No se permite la acción en este momento. Consulte la sección Comentarios para obtener más información.

Comentarios

  • Este método solo se puede desencadenar cuando eDOWNLOAD_WIP el identificador de estado COM. Intentará cancelar la acción de descarga actual. El estado COM cambiará a eDOWNLOAD_CANCELLING y, finalmente, cambiará a eDOWNLOAD_CANCELED. El estado COM devolverá E_ILLEGAL_METHOD_CALL si se desencadena en cualquier otro momento.

Descargar

HRESULT Download([in] LPWSTR pcwszParameters) // Download update content.

Parameters

  • displaylevel: true para mostrar el estado de instalación, incluidos los errores, durante el proceso de actualización; false para ocultar el estado de instalación, incluidos los errores, durante el proceso de actualización. El valor predeterminado es false.
  • updatebaseurl: dirección URL al origen de descarga alternativo.
  • updatetoversion: la versión a la que se va a actualizar Office. Defina este parámetro si desea actualizar a una versión anterior a la versión que está instalada actualmente.
  • downloadsource: CLSID de la implementación personalizada de IBackgroundCopyManager (administrador de BITS).
  • contentid: identifica el contenido que se va a descargar desde el servidor de contenido a través del administrador de BITS personalizado. Este valor se pasa a través de la interfaz BITS para su interpretación.

Resultados devueltos

Resultado Descripción
S_OK
La acción se envió correctamente al servicio Hacer clic y ejecutar para su ejecución.
E_ACCESSDENIED
El autor de la llamada no se ejecuta con privilegios elevados.
E_INVALIDARG
Se pasaron parámetros no válidos.
E_ILLEGAL_METHOD_CALL
No se permite la acción en este momento. Vea Comentarios para obtener más información.

Comentarios

  • Debe especificar downloadsource y contentid como un par. Si no es así, el método Download devolverá un error E_INVALIDARG .

  • Si se proporcionan downloadsource, contentid y updatebaseurl , se omitirá updatebaseurl .

  • Esta acción solo se puede desencadenar cuando el estado COM es uno de los siguientes:

    • eUPDATE_UNKNOWN

    • eDOWNLOAD_CANCELLED

    • eDOWNLOAD_FAILED

    • eDOWNLOAD_SUCCEEDED

    • eAPPLY_SUCCEEDED

    • eAPPLY_FAILED

  • Si llama al método Apply sin el contenido descargado anteriormente, el método Apply notificará Correcto , ya que no ha detectado nada que aplicar y ha completado correctamente el proceso De aplicación.

Ejemplos

  • Para descargar el contenido del administrador de BITS personalizado: llame a la función download() pasando los parámetros siguientes:

    "downloadsource=CLSIDofBITSInterface contentid=BITSServerContentIdentifier"
    
  • Para descargar el contenido de Office Content Delivery Network (CDN): llame a la función download() sin especificar los parámetros downloadsource, contentid o updatebaseurl .

  • Para descargar el contenido desde una ubicación personalizada: llame a la función download() pasando el parámetro siguiente:

    "updatebaseurl=yourcontentserverurl"
    

Estado

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 Descripción
pUpdateStatusReport
Puntero a una estructura UPDATE_STATUS_REPORT.

Resultados devueltos

Resultado Descripción
S_OK
El método Status siempre devuelve este resultado. Inspeccione la UPDATE_STATUS_RESULT estructura para ver el estado de la acción actual.

Comentarios

  • El campo de estado de UPDATE_STATUS_REPORT contiene el estado de la acción actual. Se devuelve uno de los siguientes valores de estado:

    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;
    
    
  • Si el último comando produjo un error, el campo de error del UPDATE_STATUS_REPORT contiene información detallada sobre el error. El método Status devuelve dos tipos de códigos de error.

  • Si el error es menor que UPDATE_ERROR_CODE::eUNKNOWN, el error es uno de los siguientes códigos de error predefinidos:

    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;
    
    

    Si el código de error devuelto es mayor que UPDATE_ERROR_CODE::eUNKNOWN el valor HRESULT de una llamada de función con error. Para extraer la resta UPDATE_ERROR_CODE::eUNKNOWN HRESULT del valor devuelto en el campo de error de UPDATE_STATUS_REPORT.

    La lista completa de valores de estado y error se puede ver inspeccionando la biblioteca de tipos IUpdateNotify incrustada en OfficeC2RCom.dll.

  • El campo contentid se usa para las llamadas a Status después de que download se haya iniciado y devuelva el contentid que se pasó a la llamada Download . Se recomienda inicializar este campo en null antes de llamar al método Status y, a continuación, comprobar el valor después de que se haya devuelto Status. Si el valor sigue siendo NULL, significa que no hay ningún contentid que devolver. Si el valor no es NULL, debe liberarlo con una llamada a SysFreeString(). Este es un fragmento de código de cómo llamar a Status después de descargar.

    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);
    
    

Resumen de la interfaz IUpdateNotify2

Desde la versión [16.0.8208.6352] hemos agregado una nueva interfaz IUpdateNotify2 .

  • CLSID_UpdateNotifyObject2, {52C2F9C2-F1AC-4021-BF50-756A5FA8DDFE}

  • Esta interfaz también hospedaba la interfaz IUpdateNotify original para proporcionar compatibilidad con versiones anteriores. Lo que significa que si usa esta interfaz, tiene acceso a todos los métodos proporcionados en la interfaz UpdateNotifyObject .

  • Nuevos métodos agregados a IUpdateNotify2:

    • HRESULT GetBlockingApps([out] BSTR * AppsList). Obtener actualizaciones que bloquean la lista de aplicaciones. Esta llamada devolverá aplicaciones de Office en ejecución, lo que impedirá que el proceso de actualización continúe.

    • HRESULT GetOfficeDeploymentData([in] int dataType, [in] LPCWSTR pcwszName, [out] BSTR * OfficeData). Obtener datos de implementación de Office.

  • Si desea usar los nuevos métodos, debe asegurarse de que:

    • La versión de C2R es más reciente que la compilación anterior (>= compilación de bifurcación de junio).

    • Use UpdateNotifyObject2, en lugar de UpdateNotifyObject para llamar a CoCreateInstance.

Si no usa ninguno de los métodos nuevos, no es necesario cambiar nada. Todos los métodos existentes funcionarán exactamente igual que antes.

Implementación de la interfaz bits

El servicio de transferencia inteligente en segundo plano (BITS) es un servicio proporcionado por Microsoft para transferir archivos entre un cliente y un servidor. BITS es uno de los canales que el instalador de Hacer clic y ejecutar de Office puede usar para descargar contenido. De forma predeterminada, el instalador de hacer clic y ejecutar Aplicaciones Microsoft 365 usa la implementación integrada de BITS de Windows para descargar el contenido de la red CDN.

Al proporcionar una implementación personalizada de BITS al método download() de la interfaz IUpdateNotify , el software de capacidad de administración puede controlar dónde y cómo el cliente descarga el contenido. Una interfaz bits personalizada es útil al proporcionar un canal de distribución de contenido personalizado que no sea los canales integrados Hacer clic y ejecutar, como la red CDN, los servidores IIS o los recursos compartidos de archivos.

El requisito mínimo para que una interfaz bits personalizada funcione con el servicio Office C2R es:

  • 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[])
    
    
  • En el caso de las Addfile funciones y AddFileWithRanges , la dirección URL remota tiene el formato siguiente:

    cmbits://<contentid>/<relative path to target file>
    
    • cmbits está codificado de forma rígida y significa BITS personalizados.

    • <contentid> es el parámetro contentid del método Download().

    • <la ruta de acceso relativa al archivo> de destino proporciona la ubicación y el nombre de archivo del archivo que se va a descargar.

      Por ejemplo, si ha proporcionado un contentid de f732af58-5d86-4299-abe9-7595c35136ef al método Download() y Office C2R quiere descargar el archivo cab de versión, como v32.cab file, llamará a AddFile() con lo siguiente RemoteUrl:

    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);
    
    

Automatización del almacenamiento provisional de contenido

Los administradores de TI pueden optar por que los clientes de escritorio estén habilitados para recibir actualizaciones automáticamente cuando estén disponibles directamente desde la red CDN o pueden optar por controlar la implementación de actualizaciones disponibles desde los canales de actualización mediante la Herramienta de implementación de Office o el Configuration Manager de punto de conexión de Microsoft.

El servicio admite la posibilidad de que las herramientas de administración reconozcan y automaticen la descarga del contenido cuando las actualizaciones estén disponibles.

La siguiente imagen es una introducción a la descarga de una imagen personalizada.

Diagrama del uso de la interfaz COM en el instalador de hacer clic y ejecutar de Office.

Introducción a la descarga de una imagen personalizada

En el diagrama anterior, verá que hay una nueva imagen de Aplicaciones Microsoft 365 disponible en la red CDN. Junto con la imagen Aplicaciones Microsoft 365, hay disponible una API que tiene la información necesaria para habilitar el software de capacidad de administración para crear imágenes personalizadas directamente reemplazando la necesidad de usar la herramienta de implementación de Office.

Una empresa configura su WSUS para sincronizar las actualizaciones de Aplicaciones Microsoft 365. Estas actualizaciones no contienen la carga real de la imagen, pero permiten que el software de capacidad de administración reconozca cuándo está disponible el nuevo contenido. A continuación, el software de capacidad de administración puede leer los metadatos Aplicaciones Microsoft 365 Actualizar para comprender a qué versión de Office se aplica la actualización.

Si la actualización es aplicable, el software de capacidad de administración puede usar el contenido de la red CDN y la lista de archivos para crear la imagen personalizada y almacenarla en la ubicación del recurso compartido de archivos que está configurada para su uso.

Uso de la API de lista de archivos Aplicaciones Microsoft 365

La API de lista de archivos Aplicaciones Microsoft 365 se usa para recuperar los nombres de los archivos necesarios para una actualización de Aplicaciones Microsoft 365 determinada.

Solicitud HTTP

GET https://clients.config.office.net/releases/v1.0/filelist

No proporcione un cuerpo de solicitud para este método.

No se requieren permisos para llamar a esta API.

Parámetros de consulta opcionales

Name Descripción
Canal
Especifica el nombre del canal.
Opcional: valor predeterminado de "Semestral"
Valores admitidos </DeployOffice/office-deployment-tool-configuration-options#channel-attribute-part-of-add-element.md>
version
Especifica la versión de actualización.
Opcional: el valor predeterminado es la versión más reciente disponible para el canal especificado.
Arco
Especifica la arquitectura de cliente
Opcional: el valor predeterminado es "x64".
Valores admitidos: x64, x86
lid
Especifica los archivos de idioma que se van a incluir
Opcional: el valor predeterminado es none
Para especificar varios idiomas, incluya un parámetro de consulta lid para cada idioma.
Use el formato de identificador de idioma, por ejemplo. 'en-us', 'fr-fr'
alllanguages
Especifica que se incluirán todos los archivos de idioma.
Opcional: el valor predeterminado es false.

Respuesta HTTP

Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK y una colección de objetos de archivo en el cuerpo de la respuesta.

Para crear una imagen, siga estos pasos:

  1. Llame a la API y proporcione los parámetros de consulta adecuados para el canal, la versión y la arquitectura de la actualización que le interesa. Nota: Los objetos de archivo con el atributo "lcid": "0" son archivos neutros del lenguaje y deben incluirse en la imagen.
  2. Construya una imagen local de la red CDN recorriendo en iteración los objetos de archivo y copiando los archivos de la red CDN, al tiempo que se crea la estructura de carpetas según lo especificado por el atributo "relativePath" definido para cada uno de los objetos de archivo.

En el ejemplo siguiente se recupera la lista de archivos para el canal actual y la versión 16.0.4229.1004 para 64 bits e incluye los archivos en 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

Comprobación hash de archivos .dat

Las herramientas de creación de imágenes pueden comprobar la integridad de los archivos .dat descargados comparando un valor hash calculado con el valor hash proporcionado asociado a cada uno de los archivos .dat. A continuación se muestra un ejemplo de un objeto de archivo que especifica valores hashLocation y 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"
},
  • El atributo hashLocation especifica la ubicación de ruta de acceso relativa de .cab archivo que contiene el valor hash. Construya la ubicación del archivo hash concatenando URL + relativePath + hashLocation. En el ejemplo siguiente, la ubicación stream.x64.bg-bg.hash sería:

    https://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/office/data/16.0.4229.1004/s641026.cab/stream.x64.bg-bg.hash 
    
  • El atributo hashAlgorithm especifica qué algoritmo hash se usó.

    Para validar la integridad del archivo stream.x64.bg-bg.dat, abra el archivo stream.x64.bg-bg.hash y lea el valor HASH que es la primera línea de texto del archivo hash. Compárelo con el valor hash calculado (mediante el algoritmo hash especificado) para comprobar la integridad del archivo .dat descargado.

    En el ejemplo siguiente se muestra el código de C# para leer el hash.

      string[] readHashes = System.IO.File.ReadAllLines(tmpFile, Encoding.Unicode);
      string readHash = readHashes.First();
    

Aplicaciones Microsoft 365 Novedades

Todos los Aplicaciones Microsoft 365 Novedades se publican en el catálogo de Microsoft Update.

Aplicaciones Microsoft 365 Novedades habilitar el software de capacidad de administración para tratar Aplicaciones Microsoft 365 Novedades de forma muy similar a cualquier otra actualización de WU con una excepción; las actualizaciones de cliente no contienen una carga real. El Aplicaciones Microsoft 365 Novedades no debe instalarse en ningún cliente, sino que se debe usar para desencadenar los flujos de trabajo con el software de capacidad de administración reemplazando el comando de instalación por el mecanismo de instalación basado en COM que se ha mostrado anteriormente.

En la ilustración siguiente se muestra un diagrama del flujo de trabajo de actualización de cliente de Office 365.

Diagrama de flujo de trabajo para las actualizaciones de cliente de O365PP.

Cada actualización Aplicaciones Microsoft 365 que se publica incluye metadatos sobre la actualización. Estos metadatos incluyen un parámetro denominado MoreInfoUrl que se puede usar para derivar la llamada API a la API de lista de archivos para esa actualización específica.

En el ejemplo siguiente, la API de lista de archivos está incrustada en MoreInfoURL y comienza por "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

Metadatos adicionales para automatizar el almacenamiento provisional de contenido

API de detección de versiones

La API de detección de versiones de Aplicaciones Microsoft 365 se usa para recuperar los detalles de cada una de las actualizaciones publicadas en la red CDN junto con los nombres de canal y otros atributos de canal.

Solicitud HTTP

GET [https://clients.config.office.net/releases/v1.0/filelist/channels](https://clients.config.office.net/releases/v1.0/filelist/channels)

No proporcione un cuerpo de solicitud para este método.

No se requieren permisos para llamar a esta API.

Respuesta HTTP

Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK y una colección de objetos de archivo en el cuerpo de la respuesta.

API de SKU

La API de SKU devuelve información útil para determinar qué productos están disponibles para la implementación y el mantenimiento desde la red CDN de Office junto con varias opciones para cada uno.

Solicitud HTTP

GET [https://clients.config.office.net/releases/v1.0/filelist/skus](https://clients.config.office.net/releases/v1.0/filelist/skus) 

No proporcione un cuerpo de solicitud para este método.

No se requieren permisos para llamar a esta API.

Respuesta HTTP

Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK y una colección de objetos de archivo en el cuerpo de la respuesta.