Integrieren von Verwaltbarkeitsanwendungen in Microsoft 365 Apps Klick-und-Run-Installationsprogramm

Erfahren Sie, wie Sie das Microsoft 365 Apps Klick-und-Run-Installationsprogramm in eine Softwareverwaltungslösung integrieren.

Das Microsoft 365 Apps Klick-und-Run-Installationsprogramm bietet eine COM-Schnittstelle, die IT-Experten und Softwareverwaltungslösungen programmgesteuerte Kontrolle über die Updateverwaltung ermöglicht. Diese Schnittstelle bietet zusätzliche Verwaltungsfunktionen, die über das Office-Bereitstellungstool hinausgehen.

Hinweis

Dieser Artikel gilt für Office-Apps, die das Klick-und-Run-Installationsprogramm verwenden.

Integration in klick-und-run

Um diese Schnittstelle zu verwenden, ruft eine Verwaltbarkeitsanwendung die COM-Schnittstelle auf und ruft verfügbar gemachte APIs auf, die direkt mit dem Klick-und-Run-Installationsdienst kommunizieren.

Hinweis

Das Office Klick-und-Run-Installationsprogramm kann über die Befehlszeile mit Parametern ausgeführt werden, die das Verhalten steuern können, wie im Office-Bereitstellungstool für Klick-und-Run dokumentiert.

Es folgt ein konzeptionelles Diagramm der COM-Schnittstelle.

Diagramm der Verwendung der COM-Schnittstelle im Office Klick-und-Run-Installationsprogramm.

Das Microsoft 365 Apps Klick-und-Run-Installationsprogramm implementiert eine COM-basierte Schnittstelle, IUpdateNotify registriert bei CLSID CLSID_UpdateNotifyObject.

Diese Schnittstelle kann wie folgt aufgerufen werden:

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

Der Aufruf ist nur erfolgreich, wenn der Aufrufer unter erhöhten Berechtigungen ausgeführt wird, da das Klick-und-Los-Installationsprogramm mit erhöhten Berechtigungen ausgeführt werden muss.

Die COM-Schnittstelle IUpdateNotify macht drei asynchrone Funktionen verfügbar, die für die Überprüfung der Befehle und Parameter und die Planung der Ausführung mit dem Klick-und-Run-Installationsdienst verantwortlich sind.

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

Die vierte Methode Status kann verwendet werden, um Informationen über die status des zuletzt ausgeführten Befehls oder die status des aktuell ausgeführten Befehls (z. B. Erfolg, Fehler, detaillierte Fehlercodes) abzurufen.

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;

Es gibt vier Zustände, in denen sich der Klick-und-Run-Installationsdienst während seines Lebenszyklus befinden kann, während dessen IUpdateNotify-Methoden aufgerufen werden können. Neustart, Leerlauf, Herunterladen und Anwenden.

Im Folgenden ist das Com Interface State Machine-Diagramm dargestellt.

Ein Zustandsdiagramm für die COM-Schnittstelle.

Hinweis

Neustarten: Wenn der Computer gestartet wird, gibt es eine Zeit, in der der Klick-und-Run-Installationsdienst nicht verfügbar ist. Ein erfolgreicher Aufruf der Status-Methode nach einem Neustart gibt eUPDATE_UNKNOWN zurück.

Im leerlauf: Wenn sich das Klick-und-Run-Installationsprogramm im Leerlaufzustand befindet, können Sie Folgendes aufrufen:

  • Anwenden: Installieren Sie zuvor heruntergeladene Inhalte.

  • Abbrechen: Gibt zurück 0x800000e, "Eine Methode wurde zu einem unerwarteten Zeitpunkt aufgerufen."

  • Download: Lädt neue Inhalte zur späteren Installation auf den Client herunter.

  • Status: Gibt das Ergebnis der letzten abgeschlossenen Aktion oder eine Fehlermeldung zurück, wenn die Aktion mit einem Fehler beendet wurde. Wenn keine vorherige Aktion vorhanden ist, gibt Status zurück eUPDATE_UNKNOWN.

Herunterladen: Wenn sich das Klick-und-Run-Installationsprogramm im Downloadzustand befindet, können Sie Folgendes aufrufen:

  • Anwenden: Gibt ein HRESULT mit dem Wert 0x800000ezurück, "Eine Methode wurde zu einem unerwarteten Zeitpunkt aufgerufen".

  • Abbrechen: Beendet den Download und entfernt den teilweise heruntergeladenen Inhalt.

  • Download: Gibt ein HRESULT mit dem Wert 0x800000e"Eine Methode wurde zu einem unerwarteten Zeitpunkt aufgerufen" zurück.

  • Status: Gibt DOWNLOAD_WIP zurück, um anzugeben, dass Downloadarbeiten ausgeführt werden.

Anwendung: Wenn das Klick-und-Run-Installationsprogramm gerade installiert wird, um zuvor heruntergeladene Inhalte zu installieren:

  • Anwenden: Gibt ein HRESULT mit dem Wert 0x800000ezurück, "Eine Methode wurde zu einem unerwarteten Zeitpunkt aufgerufen".

  • Abbrechen: Gibt zurück 0x800000e, dass die Aktion Anwenden nicht abgebrochen werden kann.

  • Download: Gibt ein HRESULT mit dem Wert 0x800000e"Eine Methode wurde zu einem unerwarteten Zeitpunkt aufgerufen" zurück.

  • Status: Gibt APPLY_WIP zurück, um anzugeben, dass die Arbeit angewendet wird.

Hinweis

Da OfficeC2RCOM ein COM+-Dienst ist und dynamisch geladen wird, müssen Sie CoCreateInstance jedes Mal aufrufen, wenn Sie eine Methode für diese Klasse aufrufen, um sicherzustellen, dass Sie das erwartete Ergebnis erhalten. Der COM+-Dienst übernimmt bei Bedarf das Erstellen eines neuen instance. Wenn eine der Methoden zum ersten Mal aufgerufen wird, lädt COM+ das IUpdateNotify-Objekt und führt es in einer der dllhost.exe-Instanzen aus. Das neue Objekt bleibt etwa 3 Minuten im Leerlauf aktiv. Wenn innerhalb von drei Minuten nach dem letzten Aufruf ein weiterer Aufruf erfolgt, bleibt das IUpdateNotify-Objekt geladen, und es wird keine neue instance erstellt. Wenn innerhalb von drei Minuten kein Aufruf erfolgt, wird das IUpdateNotify-Objekt entladen, und beim nächsten Aufruf wird ein neues IUpdateNotify-Objekt erstellt.

Klick-und-Run-Installationsprogramm COM-API-Referenzhandbuch

In der folgenden API-Referenzdokumentation:

Anwenden

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

Parameter

  • displaylevel: true, um die Status der Installation anzuzeigen, einschließlich Der Fehler während des Updatevorgangs; false, um die Installation status auszublenden, einschließlich Der Fehler, während des Updatevorgangs. Der Standardwert ist false.

  • forceappshutdown: True , um zu erzwingen, dass Office-Anwendungen sofort heruntergefahren werden, wenn die Aktion Anwenden ausgelöst wird; False schlägt fehl, wenn Office-Anwendungen ausgeführt werden. Der Standardwert ist false. Weitere Informationen finden Sie unter Hinweise .

    Wenn eine Office-Anwendung ausgeführt wird, wenn die Aktion Anwenden ausgelöst wird, schlägt die Anwenden-Aktion in der Regel fehl. Die Übergabe forceappshutdown=true an die Apply-Methode bewirkt, dass der OfficeClickToRun-Dienst die Anwendungen sofort herunterfährt und das Update anwendet. In diesem Fall kann es beim Benutzer zu Datenverlusten gehen.

Zurückgeben von Ergebnissen

Ergebnis Beschreibung
S_OK
Die Aktion wurde zur Ausführung erfolgreich an den Klick-und-Run-Dienst übermittelt.
E_ACCESSDENIED
Der Aufrufer wird nicht mit erhöhten Berechtigungen ausgeführt.
E_INVALIDARG
Ungültige Parameter wurden übergeben.
E_ILLEGAL_METHOD_CALL
Die Aktion ist derzeit nicht zulässig. Weitere Informationen finden Sie unter Hinweise .

Bemerkungen

  • Wenn eine Office-Anwendung ausgeführt wird, wenn die Aktion Anwenden ausgelöst wird, schlägt die Anwenden-Aktion fehl. Die Übergabe forceappshutdown=true an die Apply-Methode bewirkt, dass der OfficeClickToRun-Dienst sofort alle Office-Anwendungen herunterfährt, die ausgeführt werden und das Update anwenden. Dem Benutzer werden möglicherweise Daten angezeigt, da er nicht aufgefordert wird, Änderungen an geöffneten Dokumenten zu speichern.

  • Diese Aktion kann nur ausgelöst werden, wenn die COM-status einer der folgenden Ist:

    • eUPDATE_UNKNOWN

    • eDOWNLOAD_CANCELLED

    • eDOWNLOAD_FAILED

    • eDOWNLOAD_SUCCEEDED

    • eAPPLY_SUCCEEDED

    • eAPPLY_FAILED

  • Wenn Sie die Apply-Methode aufrufen, ohne zuvor Inhalt herunterzuladen, meldet die Apply-MethodeErfolgreich , da sie keine Anwendung erkannt hat und den Apply-Prozess erfolgreich abgeschlossen hat.

Abbrechen

HRESULT Cancel() // Cancel the download action.

Zurückgeben von Ergebnissen

Ergebnis Beschreibung
S_OK
Die Aktion wurde zur Ausführung erfolgreich an den Klick-und-Run-Dienst übermittelt.
E_ILLEGAL_METHOD_CALL
Die Aktion ist derzeit nicht zulässig. Weitere Informationen finden Sie im Abschnitt "Hinweise ".

Bemerkungen

  • Diese Methode kann nur ausgelöst werden, wenn die COM-status-ID eDOWNLOAD_WIP. Es wird versucht, die aktuelle Downloadaktion abzubrechen. Die COM-status ändert sich in eDOWNLOAD_CANCELLING und schließlich in eDOWNLOAD_CANCELED. Die COM-status gibt E_ILLEGAL_METHOD_CALL zurück, wenn sie zu einem anderen Zeitpunkt ausgelöst wird.

Herunterladen

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

Parameter

  • displaylevel: true, um die Status der Installation anzuzeigen, einschließlich Der Fehler während des Updatevorgangs; false, um die Installation status auszublenden, einschließlich Der Fehler, während des Updatevorgangs. Der Standardwert ist false.
  • updatebaseurl: URL zur alternativen Downloadquelle.
  • updatetoversion: Die Version, auf die Office aktualisiert werden soll. Definieren Sie diesen Parameter, wenn Sie auf eine ältere Version als die aktuell installierte Version aktualisieren möchten.
  • downloadsource: CLSID der angepassten IBackgroundCopyManager-Implementierung (BITS-Manager).
  • contentid: Identifiziert den Inhalt, der über den angepassten BITS-Manager vom Inhaltsserver heruntergeladen werden soll. Dieser Wert wird zur Interpretation über die BITS-Schnittstelle übergeben.

Zurückgeben von Ergebnissen

Ergebnis Beschreibung
S_OK
Die Aktion wurde zur Ausführung erfolgreich an den Klick-und-Run-Dienst übermittelt.
E_ACCESSDENIED
Der Aufrufer wird nicht mit erhöhten Berechtigungen ausgeführt.
E_INVALIDARG
Ungültige Parameter wurden übergeben.
E_ILLEGAL_METHOD_CALL
Die Aktion ist derzeit nicht zulässig. Weitere Informationen finden Sie unter Hinweise .

Bemerkungen

  • Sie müssen downloadsource und contentid als Paar angeben. Andernfalls gibt die Download-Methode einen E_INVALIDARG Fehler zurück.

  • Wenn downloadsource, contentid und updatebaseurl angegeben werden, wird updatebaseurl ignoriert.

  • Diese Aktion kann nur ausgelöst werden, wenn die COM-status einer der folgenden Ist:

    • eUPDATE_UNKNOWN

    • eDOWNLOAD_CANCELLED

    • eDOWNLOAD_FAILED

    • eDOWNLOAD_SUCCEEDED

    • eAPPLY_SUCCEEDED

    • eAPPLY_FAILED

  • Wenn Sie die Apply-Methode ohne zuvor heruntergeladenen Inhalt aufrufen, meldet die Apply-MethodeErfolgreich , da sie keine Anwendung erkannt hat und den Apply-Prozess erfolgreich abgeschlossen hat.

Beispiele

  • So laden Sie den Inhalt aus dem angepassten BITS-Manager herunter: Rufen Sie die download() -Funktion auf, und übergeben Sie die folgenden Parameter:

    "downloadsource=CLSIDofBITSInterface contentid=BITSServerContentIdentifier"
    
  • So laden Sie den Inhalt aus dem Office Content Delivery Network (CDN) herunter: Rufen Sie die download() -Funktion auf, ohne die Parameter downloadsource, contentid oder updatebaseurl anzugeben.

  • So laden Sie den Inhalt von einem angepassten Speicherort herunter: Rufen Sie die download() -Funktion auf, und übergeben Sie den folgenden Parameter:

    "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

Parameter

Parameter Beschreibung
pUpdateStatusReport
Zeiger auf eine UPDATE_STATUS_REPORT-Struktur.

Zurückgeben von Ergebnissen

Ergebnis Beschreibung
S_OK
Die Status-Methode gibt dieses Ergebnis immer zurück. Überprüfen Sie die UPDATE_STATUS_RESULT Struktur auf die status der aktuellen Aktion.

Bemerkungen

  • Das feld status des UPDATE_STATUS_REPORT enthält die status der aktuellen Aktion. Einer der folgenden status-Werte wird zurückgegeben:

    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;
    
    
  • Wenn der letzte Befehl zu einem Fehler geführt hat, enthält das Fehlerfeld des UPDATE_STATUS_REPORT detaillierte Informationen zum Fehler. Von der Status-Methode werden zwei Typen von Fehlercodes zurückgegeben.

  • Wenn der Fehler kleiner als UPDATE_ERROR_CODE::eUNKNOWNist, ist der Fehler einer der folgenden vordefinierten Fehlercodes:

    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;
    
    

    Wenn der Rückgabefehlercode größer als UPDATE_ERROR_CODE::eUNKNOWN das HRESULT eines fehlgeschlagenen Funktionsaufrufs ist. Zum Extrahieren des HRESULT-Subtrahierens UPDATE_ERROR_CODE::eUNKNOWN von dem wert, der im Fehlerfeld des UPDATE_STATUS_REPORTzurückgegeben wird.

    Die vollständige Liste der status- und Fehlerwerte kann angezeigt werden, indem Sie die in OfficeC2RCom.dll eingebettete IUpdateNotify-Typbibliothek überprüfen.

  • Das Feld contentid wird für Aufrufe von Status verwendet, nachdem Download initiiert wurde, und gibt die contentid zurück, die an den Download-Aufruf übergeben wurde. Es ist eine bewährte Methode, dieses Feld auf NULL zu initialisieren, bevor Sie die Status-Methode aufrufen und den Wert dann überprüfen, nachdem Status zurückgegeben wurde. Wenn der Wert immer noch NULL ist, bedeutet dies, dass keine contentid zurückgegeben werden kann. Wenn der Wert nicht NULL ist, müssen Sie ihn mit einem Aufruf von SysFreeString() freigeben. Im Folgenden finden Sie einen Codeausschnitt zum Aufrufen des Status nach dem Download.

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

Zusammenfassung der IUpdateNotify2-Schnittstelle

Ab Version [16.0.8208.6352] haben wir eine neue IUpdateNotify2-Schnittstelle hinzugefügt.

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

  • Diese Schnittstelle hat auch die ursprüngliche IUpdateNotify-Schnittstelle gehostet, um Abwärtskompatibilität zu gewährleisten. Wenn Sie diese Schnittstelle verwenden, haben Sie Zugriff auf alle Methoden, die in der UpdateNotifyObject-Schnittstelle bereitgestellt werden.

  • Neue Methoden zu IUpdateNotify2 hinzugefügt:

    • HRESULT GetBlockingApps([out] BSTR * AppsList). Abrufen der Liste der blockierenden Apps für Updates. Dieser Aufruf gibt ausgeführte Office-Apps zurück, wodurch der Updatevorgang blockiert wird.

    • HRESULT GetOfficeDeploymentData([in] int dataType, [in] LPCWSTR pcwszName, [out] BSTR * OfficeData). Abrufen von Office-Bereitstellungsdaten.

  • Wenn Sie die neuen Methoden verwenden möchten, müssen Sie Folgendes sicherstellen:

    • Ihre C2R-Version ist neuer als der obige Build (>= Juni-Fork-Build).

    • Verwenden Sie UpdateNotifyObject2 anstelle von UpdateNotifyObject , um CoCreateInstance aufzurufen.

Wenn Sie keine der neuen Methoden verwenden, müssen Sie nichts ändern. Alle vorhandenen Methoden funktionieren genauso genau wie zuvor.

Implementieren der BITS-Schnittstelle

Der Intelligente Hintergrundübertragungsdienst (Background Intelligent Transfer Service , BITS) ist ein von Microsoft bereitgestellter Dienst zum Übertragen von Dateien zwischen einem Client und einem Server. BITS ist einer der Kanäle, die das Office Klick-und-Run-Installationsprogramm zum Herunterladen von Inhalten verwenden kann. Standardmäßig verwendet das Microsoft 365 Apps Klick-und-Run-Installationsprogramm die integrierte Windows-Implementierung von BITS, um den Inhalt aus dem CDN herunterzuladen.

Durch die Bereitstellung einer angepassten BITS-Implementierung für die download() -Methode der IUpdateNotify-Schnittstelle kann Ihre Verwaltbarkeitssoftware steuern, wo und wie der Client den Inhalt herunterlädt. Eine benutzerdefinierte BITS-Schnittstelle ist nützlich, wenn ein benutzerdefinierter Inhaltsverteilungskanal bereitgestellt wird, der nicht über die integrierten Klick-und-Run-Kanäle wie CDN, IIS-Server oder Dateifreigaben verfügt.

Die Mindestanforderung für eine benutzerdefinierte BITS-Schnittstelle für die Verwendung mit dem Office C2R-Dienst ist:

  • Für 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)
    
    
  • Für 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);
    
    
  • Für IBackgroundCopyJob3:

    HRESULT _stdcall AddFileWithRanges(
                        [in] LPWSTR RemoteUrl, 
                        [in] LPWSTR LocalName,
                        [in] DWORD RangeCount,
                        [in] BG_FILE_RANGE Ranges[])
    
    
  • Für die Addfile Funktionen und AddFileWithRanges hat die Remote-URL das folgende Format:

    cmbits://<contentid>/<relative path to target file>
    
    • cmbits ist hartcodiert und steht für angepasste BITS.

    • <contentid> ist der contentid-Parameter für die Download() -Methode.

    • <Der relative Pfad zur Zieldatei> gibt den Speicherort und dateinamen der herunterzuladenden Datei an.

      Wenn Sie z. B. eine contentid von f732af58-5d86-4299-abe9-7595c35136ef für die Download() -Methode angegeben haben und Office C2R die Cab-Datei der Version herunterladen möchte, z v32.cab . B. datei, ruft es AddFile() mit folgendem RemoteUrlauf:

    cmbits://f732af58-5d86-4299-abe9-7595c35136ef/Office/Data/V32.cab
    
  • Für IBackgroundCopyError:

    HRESULT _stdcall GetErrorDescription(
          [in]  DWORD  LanguageId,
          [out] LPWSTR *ppErrorDescription);
    
    
  • Für IBackgroundCopyFile:

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

Automatisieren des Inhalts stagings

IT-Administratoren können festlegen, dass Desktopclients automatisch Updates empfangen können, wenn sie direkt über das CDN verfügbar sind, oder sie können die Bereitstellung von Updates, die über die Updatekanäle verfügbar sind, mithilfe des Office-Bereitstellungstools oder des Microsoft Endpoint Configuration Manager steuern.

Der Dienst unterstützt die Möglichkeit für Verwaltungstools, den Download der Inhalte zu erkennen und zu automatisieren, wenn Updates verfügbar gemacht werden.

Die folgende Abbildung enthält eine Übersicht über das Herunterladen eines benutzerdefinierten Images.

Diagramm der Verwendung der COM-Schnittstelle im Office Klick-und-Run-Installationsprogramm.

Übersicht über das Herunterladen eines benutzerdefinierten Images

Im vorherigen Diagramm sehen Sie, dass ein neues Microsoft 365 Apps-Image im CDN verfügbar ist. Zusammen mit dem Microsoft 365 Apps-Image ist eine API verfügbar, die die erforderlichen Informationen enthält, um die Verwaltbarkeitssoftware zu ermöglichen, direkt angepasste Images zu erstellen, die die Verwendung des Office-Bereitstellungstools ersetzen.

Ein Unternehmen konfiguriert sein WSUS so, dass die Microsoft 365 Apps Updates synchronisiert werden. Diese Updates enthalten nicht die tatsächliche Imagenutzlast, ermöglichen es der Verwaltbarkeitssoftware jedoch, zu erkennen, wann neue Inhalte verfügbar sind. Die Verwaltbarkeitssoftware kann dann die Microsoft 365 Apps Updatemetadaten lesen, um zu verstehen, auf welche Office-Version das Update angewendet wird.

Wenn das Update anwendbar ist, kann die Verwaltbarkeitssoftware den CDN-Inhalt und die Dateiliste verwenden, um das benutzerdefinierte Image zu erstellen und es an dem Speicherort der Dateifreigabe zu speichern, für den sie konfiguriert ist.

Verwenden der Microsoft 365 Apps-Dateilisten-API

Die Microsoft 365 Apps Dateilisten-API wird verwendet, um die Namen der Dateien abzurufen, die für ein bestimmtes Microsoft 365 Apps Update erforderlich sind.

HTTP-Anforderung

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

Geben Sie für diese Methode keinen Anforderungstext an.

Zum Aufrufen dieser API sind keine Berechtigungen erforderlich.

Optionale Abfrageparameter

Name Beschreibung
Kanal
Gibt den Kanalnamen an.
Optional – Standardwert :"Halbjährlicher"
Unterstützte Werte </DeployOffice/office-deployment-tool-configuration-options#channel-attribute-part-of-add-element.md>
Version
Gibt die Updateversion an.
Optional: Standardmäßig wird die neueste Version verwendet, die für den angegebenen Kanal verfügbar ist.
Arch
Gibt die Clientarchitektur an
Optional: Standardwert ist "x64"
Unterstützte Werte: x64, x86
lid
Gibt die einzuschließenden Sprachdateien an.
Optional: Standardwert ist "None"
Um mehrere Sprachen anzugeben, schließen Sie einen Lid-Abfrageparameter für jede Sprache ein.
Verwenden Sie das Sprachbezeichnerformat, z. B. 'en-us', 'fr-fr'
Alllanguages
Gibt an, dass alle Sprachdateien eingeschlossen werden sollen.
Optional: Standardwert false

HTTP-Antwort

Bei erfolgreicher Ausführung gibt die Methode den Antwortcode 200 OK und eine Auflistung von Dateiobjekten im Antworttext zurück.

Führen Sie die folgenden Schritte aus, um ein Image zu erstellen:

  1. Rufen Sie die API auf, und geben Sie die entsprechenden Abfrageparameter für den Kanal, die Version und die Architektur des Updates an, an dem Sie interessiert sind. Hinweis: Dateiobjekte mit dem Attribut "lcid": "0" sind sprachneutrale Dateien und müssen im Bild enthalten sein.
  2. Erstellen Sie ein lokales Image des CDN, indem Sie die Dateiobjekte durchlaufen und die CDN-Dateien kopieren, während Sie die Ordnerstruktur erstellen, die durch das für jedes Dateiobjekt definierte Attribut "relativePath" angegeben wird.

Im folgenden Beispiel wird die Dateiliste für den aktuellen Kanal und die Version 16.0.4229.1004 für 64-Bit abgerufen und die Französisch- und Englisch-Sprachdateien eingeschlossen.

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

Hashüberprüfung von .dat Dateien

Bilderstellungstools können die Integrität der heruntergeladenen .dat Dateien überprüfen, indem sie einen berechneten Hashwert mit dem angegebenen Hashwert vergleichen, der den einzelnen .dat Dateien zugeordnet ist. Im Folgenden finden Sie ein Beispiel für ein Dateiobjekt, das hashLocation- und hashAlgorithm-Werte angibt:

{
  "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"
},
  • Das hashLocation-Attribut gibt den relativen Pfadspeicherort .cab Datei an, die den Hashwert enthält. Erstellen Sie den Speicherort der Hashdatei, indem Sie URL + relativePath + hashLocation verketten. Im folgenden Beispiel würde der Speicherort stream.x64.bg-bg.hash wie folgt aussehen:

    https://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/office/data/16.0.4229.1004/s641026.cab/stream.x64.bg-bg.hash 
    
  • Das attribut hashAlgorithm gibt an, welcher Hashalgorithmus verwendet wurde.

    Um die Integrität der stream.x64.bg-bg.dat Datei zu überprüfen, öffnen Sie stream.x64.bg-bg.hash, und lesen Sie den HASH-Wert, der die erste Textzeile in der Hashdatei darstellt. Vergleichen Sie dies mit dem berechneten Hashwert (unter Verwendung des angegebenen Hashalgorithmus), um die Integrität der heruntergeladenen .dat-Datei zu überprüfen.

    Das folgende Beispiel zeigt den C#-Code zum Lesen des Hashs.

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

Microsoft 365 Apps Updates

Alle Microsoft 365 Apps Updates werden im Microsoft Update-Katalog veröffentlicht.

Microsoft 365 Apps Updates es der Verwaltbarkeitssoftware ermöglichen, Microsoft 365 Apps Updates mit einer Ausnahme ähnlich wie jedes andere WU-Update zu behandeln. Die Clientupdates enthalten keine tatsächliche Nutzlast. Die Microsoft 365 Apps Updates sollte nicht auf Clients installiert werden, sondern stattdessen verwendet werden, um die Workflows auszulösen, wobei die Verwaltbarkeitssoftware den Installationsbefehl durch den oben gezeigten COM-basierten Installationsmechanismus ersetzt.

Die folgende Abbildung zeigt ein Diagramm des workflows Office 365 Clientupdates.

Workflowdiagramm für O365PP-Clientupdates.

Jedes Microsoft 365 Apps Update, das veröffentlicht wird, enthält Metadaten zum Update. Diese Metadaten enthalten einen Parameter namens MoreInfoUrl, der verwendet werden kann, um den API-Aufruf der Dateilisten-API für dieses bestimmte Update abzuleiten.

Im folgenden Beispiel ist die Dateilisten-API in die MoreInfoURL eingebettet und beginnt mit "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

Zusätzliche Metadaten zum Automatisieren des Inhalts stagings

Releaseermittlungs-API

Die API für die Microsoft 365 Apps Releaseermittlung wird verwendet, um Details zu den einzelnen Updates abzurufen, die im CDN veröffentlicht wurden, zusammen mit den Kanalnamen und anderen Kanalattributen.

HTTP-Anforderung

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

Geben Sie für diese Methode keinen Anforderungstext an.

Zum Aufrufen dieser API sind keine Berechtigungen erforderlich.

HTTP-Antwort

Bei erfolgreicher Ausführung gibt die Methode den Antwortcode 200 OK und eine Auflistung von Dateiobjekten im Antworttext zurück.

SKUs-API

Die SKUs-API gibt Informationen zurück, die hilfreich sind, um zu bestimmen, welche Produkte für die Bereitstellung und Wartung über das Office CDN verfügbar sind, zusammen mit verschiedenen Optionen für jedes.

HTTP-Anforderung

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

Geben Sie für diese Methode keinen Anforderungstext an.

Zum Aufrufen dieser API sind keine Berechtigungen erforderlich.

HTTP-Antwort

Bei erfolgreicher Ausführung gibt die Methode den Antwortcode 200 OK und eine Auflistung von Dateiobjekten im Antworttext zurück.