Поделиться через


Интеграция приложений управления с установщиком Приложения Microsoft 365 "нажми и запускай"

Узнайте, как интегрировать установщик Приложения Microsoft 365 "нажми и запускай" с решением для управления программным обеспечением.

Установщик Приложения Microsoft 365 нажми и запускай предоставляет COM-интерфейс, который позволяет ИТ-специалистам и решениям по управлению программным обеспечением управлять обновлениями. Этот интерфейс предоставляет дополнительные возможности управления, помимо возможностей, предоставляемых средством развертывания Office.

Примечание.

Эта статья относится к приложениям Office, которые используют установщик "нажми и запускай".

Интеграция с приложением "нажми и запуск"

Чтобы использовать этот интерфейс, управляемое приложение вызывает COM-интерфейс и вызывает предоставляемые API, которые взаимодействуют напрямую со службой установки "нажми и запускай".

Примечание.

Установщик Office "нажми и работу" можно запустить из командной строки с параметрами, которые могут управлять поведением, как описано в статье Средство развертывания Office для "нажми и запуск".

Ниже приведена концептуальная схема COM-интерфейса.

Схема использования COM-интерфейса в установщике Office

Установщик Приложения Microsoft 365 "нажми и запускай" реализует интерфейс на основе COM, IUpdateNotify, зарегистрированный в CLSID CLSID_UpdateNotifyObject.

Этот интерфейс можно вызвать следующим образом:

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

Вызов будет выполнен успешно, только если вызывающий объект работает с повышенными привилегиями, так как программа установки "нажми и работай" должна выполняться с повышенными привилегиями.

Com-интерфейс IUpdateNotify предоставляет три асинхронные функции, отвечающие за проверку команд и параметров и планирование выполнения с помощью службы установки "нажми и запускай".

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

Четвертый метод Status можно использовать для получения сведений о состоянии последней выполненной команды или состоянии текущей выполняемой команды (т. е. успешного выполнения, сбоя, подробных кодов ошибок).

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;

Существует четыре состояния, в которых служба установки "нажми и запускай" может находиться в течение своего жизненного цикла, в течение которого можно вызывать методы IUpdateNotify ; Перезагрузка, простаивание, скачивание и применение.

Ниже приведена схема компьютера с состоянием COM-интерфейса.

Схема состояния для COM-интерфейса.

Примечание.

Перезагрузка. При загрузке компьютера существует период времени, когда служба установщика "нажми и работай" недоступна. При успешном вызове метода Status после перезагрузки возвращается eUPDATE_UNKNOWN.

Простоя: Когда установщик "нажми и работай" находится в состоянии простоя, можно вызвать:

  • Применить. Установите ранее скачаемое содержимое.

  • Cancel: возвращает 0x800000eзначение " Метод был вызван в непредвиденное время".

  • Скачать. Загружает новое содержимое в клиент для последующей установки.

  • Состояние. Возвращает результат последнего завершенного действия или сообщение об ошибке, если действие завершилось сбоем. Если предыдущее действие отсутствует, функция Status возвращает eUPDATE_UNKNOWN.

Загрузки: Когда установщик "нажми и работай" находится в состоянии загрузки, можно вызвать:

  • Применить. Возвращает HRESULT со значением 0x800000e"Метод был вызван в непредвиденное время".

  • Отмена: останавливает скачивание и удаляет частично скачаемое содержимое.

  • Скачивание. Возвращает HRESULT со значением 0x800000e"Метод был вызван в непредвиденное время".

  • Состояние. Возвращает DOWNLOAD_WIP , указывающий на то, что выполняется скачивание.

Применение: Когда установщик "нажми и работай" находится в процессе установки ранее скачиваемого содержимого:

  • Применить. Возвращает HRESULT со значением 0x800000e"Метод был вызван в непредвиденное время".

  • Отмена: возвращает 0x800000e, действие Применить не может быть отменено.

  • Скачивание. Возвращает HRESULT со значением 0x800000e"Метод был вызван в непредвиденное время".

  • Состояние. Возвращает APPLY_WIP , указывающий, что выполняется работа по применению.

Примечание.

Так как OfficeC2RCOM является службой COM+ и динамически загружается, необходимо вызывать CoCreateInstance каждый раз при вызове метода в этом классе, чтобы обеспечить получение ожидаемого результата. При необходимости служба COM+ будет обрабатывать создание нового экземпляра. При первом вызове одного из методов COM+ загрузит объект IUpdateNotify и запустит его в одном из экземпляров dllhost.exe. Новый объект будет оставаться активным около 3 минут в режиме простоя. Если последующий вызов выполняется в течение трех минут после последнего вызова, объект IUpdateNotify останется загруженным, а новый экземпляр не будет создан. Если вызов не выполняется в течение трех минут, объект IUpdateNotify будет выгружен, а при следующем вызове будет создан новый объект IUpdateNotify .

Справочное руководство по COM API установщика "нажми и запуск"

В следующей справочной документации по API:

Применить

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

Параметры

  • displaylevel: true для отображения состояния установки, включая ошибки, во время процесса обновления; значение false , чтобы скрыть состояние установки, включая ошибки, во время процесса обновления. Значение по умолчанию: false.

  • forceappshutdown: true для принудительного завершения работы приложений Office сразу после активации действия Применить ; значение false , если какие-либо приложения Office запущены. Значение по умолчанию: false. Дополнительные сведения см. в разделе Примечания .

    Если какое-либо приложение Office запускается при активации действия Применить , действие Применить обычно завершается ошибкой. Передача forceappshutdown=true в метод Apply приведет к тому, что служба OfficeClickToRun немедленно завершит работу приложений и применит обновление. В этом случае пользователь может столкнуться с потерей данных.

Возврат результатов

Результат Описание
S_OK
Действие успешно отправлено в службу "нажми и работу" для выполнения.
E_ACCESSDENIED
Вызывающий объект не работает с повышенными привилегиями.
E_INVALIDARG
Были переданы недопустимые параметры.
E_ILLEGAL_METHOD_CALL
Действие в настоящее время запрещено. Дополнительные сведения см. в разделе Примечания .

Замечания

  • Если какое-либо приложение Office выполняется при активации действия Применить , действие Применить завершится ошибкой. Передача forceappshutdown=true в метод Apply приведет к тому, что служба OfficeClickToRun немедленно завершит работу всех запущенных приложений Office и применит обновление. Пользователь может столкнуться с данными, так как ей не будет предложено сохранить изменения в открытых документах.

  • Это действие может быть активировано только в том случае, если состояние COM одно из следующих:

    • eUPDATE_UNKNOWN

    • eDOWNLOAD_CANCELLED

    • eDOWNLOAD_FAILED

    • eDOWNLOAD_SUCCEEDED

    • eAPPLY_SUCCEEDED

    • eAPPLY_FAILED

  • При вызове метода Apply без предварительного скачивания содержимого метод Apply сообщит об успешном выполнении, так как он не обнаружил ничего для применения и успешно завершил процесс Apply .

Отменить

HRESULT Cancel() // Cancel the download action.

Возврат результатов

Результат Описание
S_OK
Действие успешно отправлено в службу "нажми и работу" для выполнения.
E_ILLEGAL_METHOD_CALL
Действие в настоящее время запрещено. Дополнительные сведения см. в разделе Примечания .

Замечания

  • Этот метод можно активировать, только если идентификатор состояния COM eDOWNLOAD_WIP. Будет предпринята попытка отменить текущее действие скачивания. Состояние COM изменится на eDOWNLOAD_CANCELLING и в конечном итоге изменится на eDOWNLOAD_CANCELED. Состояние COM вернет E_ILLEGAL_METHOD_CALL при активации в любое другое время.

Скачать

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

Параметры

  • displaylevel: true для отображения состояния установки, включая ошибки, во время процесса обновления; значение false , чтобы скрыть состояние установки, включая ошибки, во время процесса обновления. Значение по умолчанию: false.
  • updatebaseurl: URL-адрес альтернативного источника загрузки.
  • updatetoversion: версия для обновления Office. Определите этот параметр, если требуется выполнить обновление до более старой версии, чем установленная в данный момент версия.
  • downloadsource: CLSID настраиваемой реализации IBackgroundCopyManager (диспетчер BITS).
  • contentid: определяет содержимое для скачивания с сервера содержимого с помощью настраиваемого диспетчера BITS. Это значение передается через интерфейс BITS для интерпретации.

Возврат результатов

Результат Описание
S_OK
Действие успешно отправлено в службу "нажми и работу" для выполнения.
E_ACCESSDENIED
Вызывающий объект не работает с повышенными привилегиями.
E_INVALIDARG
Были переданы недопустимые параметры.
E_ILLEGAL_METHOD_CALL
Действие в настоящее время запрещено. Дополнительные сведения см. в разделе Примечания .

Замечания

  • В качестве пары необходимо указать downloadsource и contentid . В противном случае метод Download вернет ошибку E_INVALIDARG .

  • Если указаны downloadsource, contentid и updatebaseurl , updatebaseurl будет игнорироваться.

  • Это действие может быть активировано только в том случае, если состояние COM одно из следующих:

    • eUPDATE_UNKNOWN

    • eDOWNLOAD_CANCELLED

    • eDOWNLOAD_FAILED

    • eDOWNLOAD_SUCCEEDED

    • eAPPLY_SUCCEEDED

    • eAPPLY_FAILED

  • При вызове метода Apply без ранее скачанного содержимого метод Apply сообщит об успешном выполнении, так как он не обнаружил ничего для применения и успешно завершил процесс Apply .

Примеры

  • Чтобы скачать содержимое из настраиваемого диспетчера BITS, вызовите функцию download(), передав следующие параметры:

    "downloadsource=CLSIDofBITSInterface contentid=BITSServerContentIdentifier"
    
  • Скачивание содержимого из сети доставки содержимого Office (CDN): вызовите функцию download() без указания параметров downloadsource, contentid или updatebaseurl .

  • Чтобы скачать содержимое из настраиваемого расположения, вызовите функцию download(), передав следующий параметр:

    "updatebaseurl=yourcontentserverurl"
    

Состояние

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

Параметры

Параметр Описание
pUpdateStatusReport
Указатель на структуру UPDATE_STATUS_REPORT.

Возврат результатов

Результат Описание
S_OK
Метод Status всегда возвращает этот результат. Проверьте структуру UPDATE_STATUS_RESULT на наличие состояния текущего действия.

Замечания

  • Поле UPDATE_STATUS_REPORT состояния объекта содержит состояние текущего действия. Возвращается одно из следующих значений состояния:

    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;
    
    
  • Если последняя команда привела к ошибке, поле UPDATE_STATUS_REPORT ошибки содержит подробные сведения об ошибке. Из метода Status возвращаются два типа кодов ошибок.

  • Если ошибка меньше UPDATE_ERROR_CODE::eUNKNOWN, ошибка имеет один из следующих предопределенных кодов ошибок:

    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;
    
    

    Если код ошибки возврата больше, чем UPDATE_ERROR_CODE::eUNKNOWN это HRESULT неудавшихся вызовов функции. Извлечение вычитания UPDATE_ERROR_CODE::eUNKNOWN HRESULT из значения, возвращаемого UPDATE_STATUS_REPORTв поле ошибки объекта .

    Полный список значений состояния и ошибок можно просмотреть, проверив библиотеку типов IUpdateNotify, внедренную в OfficeC2RCom.dll.

  • Поле contentid используется для вызовов состояния после инициации загрузки и возвращает contentid, переданный вызову Download . Рекомендуется инициализировать это поле до null перед вызовом метода Status, а затем проверка значение после возврата состояния. Если значение по-прежнему равно NULL, это означает, что contentid не возвращается. Если значение не равно NULL, его необходимо освободить с помощью вызова SysFreeString(). Ниже приведен фрагмент кода, в который показано, как вызвать состояние после скачивания.

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

Сводка интерфейса IUpdateNotify2

В версии [16.0.8208.6352] мы добавили новый интерфейс IUpdateNotify2 .

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

  • В этом интерфейсе также размещен исходный интерфейс IUpdateNotify для обеспечения обратной совместимости. Это означает, что при использовании этого интерфейса у вас есть доступ ко всем методам, предоставляемым в интерфейсе UpdateNotifyObject .

  • Новые методы, добавленные в IUpdateNotify2:

    • HRESULT GetBlockingApps([out] BSTR * AppsList). Получение списка приложений, блокирующих обновления. Этот вызов вернет запущенные приложения Office, которые заблокируют процесс обновления.

    • HRESULT GetOfficeDeploymentData([in] int dataType, [in] LPCWSTR pcwszName, [out] BSTR * OfficeData). Получение данных развертывания Office.

  • Если вы хотите использовать новые методы, убедитесь, что:

    • Ваша версия C2R новее, чем приведенная выше сборка (>= сборка для вилки июня).

    • Используйте UpdateNotifyObject2 вместо UpdateNotifyObject для вызова CoCreateInstance.

Если вы не используете ни один из новых методов, ничего менять не нужно. Все существующие методы будут работать точно так же, как и раньше.

Реализация интерфейса BITS

Фоновая интеллектуальная служба передачи (BITS) — это служба, предоставляемая корпорацией Майкрософт для передачи файлов между клиентом и сервером. BITS — это один из каналов, который установщик Office может использовать для скачивания содержимого. По умолчанию установщик Приложения Microsoft 365 нажми и запускай» использует встроенную реализацию BITS в Windows для скачивания содержимого из сети CDN.

Предоставляя настраиваемую реализацию BITS для метода download() интерфейса IUpdateNotify , ваше программное обеспечение для управления может контролировать, где и как клиент загружает содержимое. Настраиваемый интерфейс BITS полезен при предоставлении пользовательского канала распространения содержимого, отличного от встроенных каналов "нажми и запускай", таких как CDN, серверы IIS или общие папки.

Минимальное требование к пользовательскому интерфейсу BITS для работы со службой Office C2R:

  • Для 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)
    
    
  • Для 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);
    
    
  • Для IBackgroundCopyJob3:

    HRESULT _stdcall AddFileWithRanges(
                        [in] LPWSTR RemoteUrl, 
                        [in] LPWSTR LocalName,
                        [in] DWORD RangeCount,
                        [in] BG_FILE_RANGE Ranges[])
    
    
  • Addfile Для функций и AddFileWithRanges удаленный URL-адрес имеет следующий формат:

    cmbits://<contentid>/<relative path to target file>
    
    • cmbits жестко закодирован и означает настраиваемые BITS.

    • <contentid> — это параметр contentid для метода Download().

    • <Относительный путь к целевому файлу> предоставляет расположение и имя файла для скачивания.

      Например, если вы указали contentidf732af58-5d86-4299-abe9-7595c35136ef для метода Download(), а Office C2R хочет скачать cab-файл версии, например v32.cab файл, он вызовет AddFile() со следующим:RemoteUrl

    cmbits://f732af58-5d86-4299-abe9-7595c35136ef/Office/Data/V32.cab
    
  • Для IBackgroundCopyError:

    HRESULT _stdcall GetErrorDescription(
          [in]  DWORD  LanguageId,
          [out] LPWSTR *ppErrorDescription);
    
    
  • Для IBackgroundCopyFile:

    HRESULT _stdcall GetLocalName([out] LPWSTR *ppName); 
    HRESULT _stdcall GetRemoteName([out] LPWSTR *ppName);
    
    

Автоматизация промежуточного хранения содержимого

ИТ-администраторы могут выбрать, чтобы настольные клиенты автоматически получали обновления, если они доступны непосредственно из CDN, или они могут управлять развертыванием обновлений, доступных из каналов обновления, с помощью средства развертывания Office или конечной точки Майкрософт Configuration Manager.

Служба поддерживает возможность для средств управления распознавать и автоматизировать скачивание содержимого при выпуске обновлений.

На следующем рисунке представлен обзор скачивания пользовательского образа.

Схема использования COM-интерфейса в установщике Office

Общие сведения о скачивании пользовательского образа

На предыдущей схеме вы видите, что в CDN доступен новый образ Приложения Microsoft 365. Наряду с Приложения Microsoft 365 образом доступен API, который содержит сведения, необходимые для того, чтобы программное обеспечение для управления напрямую создавало настраиваемые образы, заменяя необходимость использования средства развертывания Office.

Предприятие настраивает свои службы WSUS для синхронизации обновлений Приложения Microsoft 365. Эти обновления не содержат фактических полезных данных образа, но позволяют программному обеспечению для управления распознавать, когда доступно новое содержимое. Программное обеспечение для управления может прочитать метаданные обновления Приложения Microsoft 365, чтобы понять, к какой версии Office применяется обновление.

Если обновление применимо, программное обеспечение для управления может использовать содержимое CDN и список файлов, чтобы создать пользовательский образ и сохранить его в расположении общей папки, которую он настроен для использования.

Использование API списка файлов Приложения Microsoft 365

API списка файлов Приложения Microsoft 365 используется для получения имен файлов, необходимых для определенного обновления Приложения Microsoft 365.

HTTP-запрос

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

Не указывайте текст запроса для этого метода.

Для вызова этого API разрешения не требуются.

Необязательные параметры запросов

Название Описание
Канал
Указывает имя канала.
Необязательный — по умолчанию используется значение SemiAnnual.
Поддерживаемые значения </DeployOffice/office-deployment-tool-configuration-options#channel-attribute-part-of-add-element.md>
version
Указывает версию обновления.
Необязательный — по умолчанию используется последняя версия, доступная для указанного канала.
Арка
Задает архитектуру клиента
Необязательный — по умолчанию используется значение x64.
Поддерживаемые значения: x64, x86
Крышкой
Указывает языковые файлы для включения
Необязательный — по умолчанию используется значение none
Чтобы указать несколько языков, включите параметр запроса крышки для каждого языка.
Используйте формат идентификатора языка, например. "en-us", "fr-fr"
alllanguages
Указывает, что необходимо включить все языковые файлы.
Необязательный — по умолчанию имеет значение false.

Ответ HTTP

В случае успешного выполнения этот метод возвращает код отклика 200 OK и коллекцию файловых объектов в теле отклика.

Чтобы создать образ, выполните следующие действия.

  1. Вызовите API, предоставляя соответствующие параметры запроса для канала, версии и архитектуры интересующего вас обновления. Примечание. Объекты файлов с атрибутом "lcid": "0" являются файлами, не зависящими от языка и должны быть включены в изображение.
  2. Создайте локальный образ CDN путем итерации по объектам файлов и копирования файлов CDN, а также создания структуры папок, указанной атрибутом relativePath, определенным для каждого из файловых объектов.

В следующем примере извлекается список файлов для Current Channel и версии 16.0.4229.1004 для 64разрядных файлов и содержит файлы на французском и английском языках.

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

Хэш-проверка файлов .dat

Средства создания изображений могут проверять целостность скачанных файлов .dat путем сравнения вычисляемого хэш-значения с предоставленным хэш-значением, связанным с каждым из .dat файлов. Ниже приведен пример объекта файла, задающего значения hashLocation и 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"
},
  • Атрибут hashLocation указывает относительный путь .cab файла, содержащего хэш-значение. Создайте расположение хэш-файла путем объединения URL-адреса + relativePath + hashLocation. В следующем примере расположение stream.x64.bg-bg.hash будет следующим:

    https://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/office/data/16.0.4229.1004/s641026.cab/stream.x64.bg-bg.hash 
    
  • Атрибут hashAlgorithm указывает, какой алгоритм хэширования использовался.

    Чтобы проверить целостность файла stream.x64.bg-bg.dat, откройте stream.x64.bg-bg.hash и считайте значение HASH, которое является первой строкой текста в хэш-файле. Сравните его с вычисленным хэш-значением (с использованием указанного алгоритма хэширования), чтобы проверить целостность скачаемого .dat файла.

    В следующем примере показан код C# для чтения хэша.

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

Приложения Microsoft 365 Обновления

Все Приложения Microsoft 365 Обновления публикуются в каталоге Центра обновления Майкрософт.

Приложения Microsoft 365 Обновления позволяют программному обеспечению для управления обрабатывать Приложения Microsoft 365 Обновления таким образом, как и любое другое обновление WU с одним исключением. Обновления клиента не содержат фактических полезных данных. Приложения Microsoft 365 Обновления не следует устанавливать на каких-либо клиентах, а использовать для активации рабочих процессов с помощью программного обеспечения для управления, заменяющего команду установки механизмом установки на основе COM, показанным выше.

На следующем рисунке показана схема рабочего процесса обновления клиента Office 365.

Схема рабочего процесса для обновлений клиента O365PP.

Каждое опубликованное обновление Приложения Microsoft 365 содержит метаданные об обновлении. Эти метаданные включают параметр MoreInfoUrl, который можно использовать для получения вызова API к API списка файлов для этого конкретного обновления.

В следующем примере API списка файлов внедрен в MoreInfoURL и начинается с "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

Дополнительные метаданные для автоматизации промежуточного хранения содержимого

API обнаружения выпусков

API обнаружения Приложения Microsoft 365 выпусков используется для получения сведений о каждом из обновлений, опубликованных в CDN, а также имен каналов и других атрибутов канала.

HTTP-запрос

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

Не указывайте текст запроса для этого метода.

Для вызова этого API разрешения не требуются.

HTTP-ответ

В случае успешного выполнения этот метод возвращает код отклика 200 OK и коллекцию файловых объектов в теле отклика.

API номеров SKU

API SKU возвращает сведения, которые полезны для определения продуктов, доступных для развертывания и обслуживания из сети CDN Office, а также различные варианты для каждого из них.

HTTP-запрос

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

Не указывайте текст запроса для этого метода.

Для вызова этого API разрешения не требуются.

HTTP-ответ

В случае успешного выполнения этот метод возвращает код отклика 200 OK и коллекцию файловых объектов в теле отклика.