Device Update Center: Benutzerleitfaden

Das Device Update Center-Portal (DUC) ermöglicht OEMs (Original Equipment Manufacturer) Folgendes:

  • Veröffentlichen von benutzerdefinierten OEM-Paketen (OEM Custom Package, OCP) in der Windows Update-Cloud
  • Test-Flighting von benutzerdefinierten OEM-Paketen auf Geräten basierend auf Test-Flight-Ringen
  • Test-Flighting von Betriebssystemupdates auf Geräten basierend auf Test-Flight-Ringen

Voraussetzungen für das Device Update Center

Überprüfen Sie die folgenden Anforderungen, bevor Sie mit dem Registrierungsprozess beginnen:

  • Sie müssen über ein Extended-Validation (EV)- Codesignaturzertifikat verfügen. Überprüfen Sie, ob Ihr Unternehmen bereits über ein Codesignaturzertifikat verfügt. Sorgen Sie dafür, dass das Zertifikat verfügbar ist, falls dies der Fall ist. Sie benötigen das Zertifikat zum Signieren von Dateien.. Wenn Ihr Unternehmen kein Zertifikat besitzt, müssen Sie im Rahmen des Registrierungsprozesses ein Zertifikat erwerben.

  • Sie müssen sich als globaler Administrator bei der Azure Active Directory-Instanz Ihrer Organisation anmelden. Wenden Sie sich an Ihre IT-Abteilung, falls Sie nicht wissen, ob Ihre Organisation über Azure Active Directory verfügt. Wenn Ihre Organisation nicht über eine Azure Active Directory-Instanz verfügt, können Sie kostenlos eine erstellen.

  • Sie müssen befugt sein, Vereinbarungen im Namen Ihres Unternehmens zu unterzeichnen.

Schritt 1: Einrichten

Registrieren

  1. Erstellen Sie ein Windows Hardware Dev Center-Konto, um auf das Device Update Center (DUC) zuzugreifen. Sie benötigen Folgendes:

    • Ein EV-Codesignaturzertifikat: Dieses Zertifikat wird verwendet, um die für Updates übermittelte CAB-Datei zu überprüfen.
    • Ein Azure Active Directory (AAD)-Konto mit Administratorrechten: Dieses Konto wird verwendet, um Vereinbarungen zu unterzeichnen.

    Ausführliche Informationen zum Registrierungsprozess finden Sie unter Registrieren für das Hardware-Programm.

  2. Registrieren Sie sich für Windows 10 IoT Core Services.

  3. Melden Sie sich beim Hardware Dev Center mit der Administratorrolle an, und geben Sie Rollen für andere Benutzer in Ihrer Organisation an. Sie benötigen Folgendes:

    • Rolle „Übermittler von Treibern“ für die Updateübermittlung
    • Rolle „Besitzer von Versandkennzeichnungen“ für das Update-Test-Flighting

    Ausführliche Anweisungen finden Sie unter Ändern der Rolle eines Benutzers .

Installieren der Tools

  1. Windows Assessment and Deployment Kit (Windows ADK)
  2. IoT Core ADK-Add-Ons
  3. Windows 10 IoT Core-Pakete
  4. Rufen Sie das Board-Support-Paket (BSP) für Ihre Plattform vom Chiphersteller ab. Siehe Windows 10 IoT Core-BSP.

Einrichten der Umgebung

  1. Starten Sie IoTCorePShell (dadurch wird eine Eingabeaufforderung mit erhöhten Rechten gestartet), und erstellen/öffnen Sie Ihren Arbeitsbereich.

    new-ws C:\MyWorkspace <oemname> <arch>
    (or)
    open-ws C:\MyWorkspace
    

    Die ursprüngliche Version des benutzerdefinierten OEM-Pakets ist auf 10.0.0.0 festgelegt.

  2. Konfigurieren Sie das im Device Update Center verwendete EV-Zertifikat und das Codesignaturzertifikat im Arbeitsbereich.

    <!--Specify the retail signing certificate details, Format given below -->
    <RetailSignToolParam>/s my /i "Issuer" /n "Subject" /ac "C:\CrossCertRoot.cer" /fd SHA256</RetailSignToolParam>
    <!--Specify the ev signing certificate details, Format given below -->
    <EVSignToolParam>/s my /i "Issuer" /n "Subject" /fd SHA256</EVSignToolParam>
    
    • Aktualisieren Sie den Aussteller und den Antragsteller entsprechend den Zertifikatdetails.
    • „CrossCertRoot.cer“ entspricht dem übergreifenden Stammsignaturzertifikat, das in der Liste übergreifender Zertifikate veröffentlicht ist.

    Sie können das gleiche EV-Zertifikat verwenden, das auch für das Hardware Dev Center verwendet wird, oder ein anderes Zertifikat, das nur zum Codesignieren dient. Es wird empfohlen, für jeden Zweck ein separates Zertifikat zu verwenden.

Schritt 2: Erstellen eines neuen Produkts

  1. Erstellen Sie mithilfe von Add-IoTProduct ein neues Produkt.

    Add-IoTProduct <productname> <bspname>
    (or) newproduct <productname> <bspname>
    
  2. Geben Sie die SMBIOS-Informationen (System Management Basic Input/Output System) an, wenn Sie dazu aufgefordert werden. Für Qualcomm werden diese Informationen in einer Datei „SMBIOS.cfg“ gespeichert. Für andere Plattformen müssen Sie das BIOS aktualisieren, um diese Werte anzuwenden.

    Die SMBIOS-Pflichtfelder finden Sie unter OEM-Lizenzanforderungen. Für das Update sind die beiden folgenden Felder am wichtigsten:

    • Systemproduktname (SystemProductName), im Updateportal bezeichnet als Gerätemodell

    • Hauptplatinenprodukt (BaseboardProduct), im Updateportal bezeichnet als Hardwarevarianten-ID

    Beachten Sie, dass die Datei IoTDeviceModel_<productname>.xml ebenfalls erstellt wird. Diese Datei wird im nächsten Schritt verwendet, um das Gerätemodell zu registrieren.

    Screenshot: Neues Produkt in PowerShell

Schritt 3: Registrieren des Gerätemodells im Device Update Center

  1. Wählen Sie im Device Update Center-Portal die Option Neues Gerätemodell aus.

    Neues Gerätemodell – Auswählen

  2. Durchsuchen Sie Ihre Dateien, und wählen Sie in Ihrem Arbeitsbereich die Datei IoTDeviceModel_<productname>.xml aus.

    Neues Gerätemodell – Arbeitsbereich

  3. Überprüfen Sie die Spezifikationen des Gerätemodells, und wählen Sie Übermitteln aus.

    Neues Gerätemodell – Übermitteln

    Der Tabelle mit den Gerätemodellen wird ein neuer Gerätemodelleintrag hinzugefügt. In dieser Tabelle ist auch ein Link Herunterladen verfügbar.

  4. Laden Sie die ZIP-Datei (CUSConfig.zip) herunter.

Erstellen eines Basisimages für das Gerät

  1. Importieren Sie in der IoTCoreShell die Konfigurationsdatei mithilfe von Import-IoTDUCConfig.

    Import-IoTDUCConfig <productname> "C:\Downloads\CUSConfig.zip"
    (or) importcfg <productname> "C:\Downloads\CUSConfig.zip"
    

    Dadurch werden auch die OEMInputXML-Dateien zum Einschließen erforderlicher FM-Dateien und Feature-IDs bearbeitet. Zudem wird das Feature IOT_GENERIC_POP (sofern vorhanden) entfernt.

    Importieren der Konfigurationsdatei

  2. Signieren Sie mithilfe von Add-IoTSignature und Redo-IoTCabSignature alle erforderlichen Binärdateien mit dem Codesignaturzertifikat.

    # enable retail signing
    Set-IoTRetailSign On
    (or) retailsign On
    # sign all binaries in the workspace
    Add-IoTSignature C:\MyWorkspace *.sys,*.dll,*.exe
    (or) signbinaries C:\MyWorkspace *.sys,*.dll,*.exe
    # re-sign prebuilt bsp cabs if applicable
    Redo-IoTCabSignature <srcbspdir> <dstbspdir>
    
  3. Erstellen Sie mit den folgenden Befehlen das Basisimage.

    # build all packages
    buildpkg All
    # build the image
    buildimage <productname> <retail/test>
    # build recovery image, if recovery mechanism needed
    buildrecovery <productname> <retail/test>
    

    Dadurch erhalten Sie das Basisimage mit der Version 10.0.0.0 des benutzerdefinierten OEM-Pakets.

  4. Überprüfen Sie dieses Image auf dem Gerät.

Schritt 4: Veröffentlichen von Updates

Bisher haben Sie ein aktualisierbares Image erstellt, das zum Herstellen und Ausliefern der Geräte verwendet werden kann. In diesem Schritt befassen wir uns mit dem Erstellen von Updatepaketen und Veröffentlichen dieser Pakete im Portal.

Erstellen von Updatepaketen

  1. Aktualisieren Sie zunächst die Versionsnummer mithilfe von Set-IoTCabVersion.

    Set-IoTCabVersion <a.b.c.d>
    (or) setversion <a.b.c.d>
    

    Stellen Sie sicher, dass „a.b.c.d“ höher ist als die zuvor festgelegte Version.

  2. Wenn neue Versionen von BSP-Treibern verfügbar sind, kopieren Sie diese in den zuvor eingerichteten BSP-Ordner (z. B. C:\BSP). Alternativ können Sie alle aktualisierten Treiber in einem anderen Ordner belassen (z. B. C:\BSPv2) und die XML-Datei Ihres Arbeitsbereichs aktualisieren.

  3. Wenn eine neue Version der vorhandenen APPX-Datei verfügbar ist, erstellen Sie eine neue APPX-Datei mit dem gleichen Namen. Beachten Sie, dass die ID in der generierten Datei „customizations.xml“ mit der früheren Version identisch ist.

  4. Wenn aktualisierte Versionen von Treibern verfügbar sind, aktualisieren Sie sowohl die Binärdateien als auch die XML-Paketdatei.

  5. Aktualisieren Sie alle anderen Paketinhalte nach Bedarf.

  6. Signieren Sie mithilfe von Add-IoTSignature und Redo-IoTCabSignature alle erforderlichen Binärdateien mit dem Codesignaturzertifikat.

    # enable retail signing
    Set-IoTRetailSign On
    (or) retailsign On
    # sign all binaries in the workspace
    Add-IoTSignature C:\MyWorkspace *.sys,*.dll,*.exe
    (or) signbinaries C:\MyWorkspace *.sys,*.dll,*.exe
    # re-sign prebuilt bsp cabs if applicable
    Redo-IoTCabSignature <srcbspdir> <dstbspdir>
    
  7. Erstellen Sie mit den folgenden Befehlen das Updateimage.

    # build all packages
    buildpkg All
    # build the image
    buildimage <productname> <retail/test>
    # build recovery image, if recovery mechanism needed
    buildrecovery <productname> <retail/test>
    

    Dadurch erhalten Sie das Basisimage mit der Version <a.b.c.d> des benutzerdefinierten OEM-Pakets.

  8. Überprüfen Sie dieses Image auf dem Gerät, um sicherzustellen, dass das Gerät mit allen enthaltenen Updates gestartet wird.

  9. Exportieren Sie nach erfolgreicher Überprüfung des Updatebuilds die erforderlichen Pakete mithilfe von Export-IoTDUCCab.

    Export-IoTDUCCab <productname> <retail/test>
    (or) exportpkgs <productname> <retail/test>
    

    <productname>_OCP_<version>.cab wird im Ordner <workspacedir>\Build\<arch>\<productname>\<config>\<version>\ zusammen mit der Datei <productname>_OCP_pkgver.txt erstellt, in der die enthaltenen CAB-Dateien und ihre Versionsinformationen aufgelistet sind. Diese CAB-Datei wird mit dem EV-Zertifikat signiert, das in der XML-Datei des Arbeitsbereichs konfiguriert ist.

Veröffentlichen von Updates

  1. Wählen Sie im Device Update Center-Portal das Gerätemodell in der Tabelle „Gerätemodell“ aus.

  2. Wählen Sie Übermittlung aktualisieren>Neues benutzerdefiniertes Paket aus.

    Neues benutzerdefiniertes Paket

  3. Durchsuchen Sie Ihre Dateien, und wählen Sie in Ihrem Arbeitsbereich die Datei <productname>_OCP_<version>.cab aus.

    Neues benutzerdefiniertes Paket – Auswählen

  4. Überprüfen Sie die Versionsinformationen, und wählen Sie Veröffentlichen aus.

    Die Releaseübermittlung durchläuft einen Prozess, der die folgenden Schritte umfasst:

    • Validierung: Überprüfen des Inhalts des hochgeladenen Pakets auf Authentizität und Korrektheit

    • Signieren: Signieren der CAB-Dateien mit einem Microsoft-Zertifikat für die Veröffentlichung in Windows Update

    • Veröffentlichen: Tatsächliche Veröffentlichung in Windows Update

    • Finalisieren: Abschließen des Veröffentlichungsprozesses

  5. Sie können den Status des Veröffentlichungsprozesses überprüfen, indem Sie auf den Link Status klicken. Dieser Vorgang nimmt einige Zeit in Anspruch.

    Neues benutzerdefiniertes Paket – Status

Schritt 5: Festlegen des Ziels für Updates

Nachdem Sie die Updates erfolgreich veröffentlicht haben, können Sie den Übermittlungsprozess steuern, indem Sie die Regeln zur Festlegung des Ziels angeben.

  1. Wählen Sie Test-Flighting aktualisieren und dann Neues Test-Flight aus.

    Neues Test-Flight

  2. Führen Sie im Dialogfeld „Neues Test-Flight“ die folgenden Schritte aus:

    Dialogfeld „Neues Test-Flight“

    a. Geben Sie den Ring an (Preview / EarlyAdopter / GeneralAvailability), z. B. „Preview“. Beachten Sie, dass die XML-Datei, die heruntergeladen und in das Image eingeschlossen wird, diesen Wert standardmäßig auf GeneralAvailability festlegt.

    • Preview-Ring: Aktualisiert eine begrenzte Gruppe von Geräten, in erster Linie in der Laborumgebung

    • EarlyAdopter-Ring: Aktualisiert eine geringe Anzahl von Geräten in der Benutzerumgebung, einschließlich selbstgehosteter Geräte

    • GeneralAvailability-Ring: Aktualisiert jedes Gerät auf dem Markt

    b. Aktivieren Sie das Kontrollkästchen „Betriebssystemversion“, wenn Sie eine neue Betriebssystemversion angeben möchten, und wählen Sie dann die erforderliche Version aus.

    c. Aktivieren Sie das Kontrollkästchen „OCP-Version“, wenn Sie eine neue Version des benutzerdefinierten OEM-Pakets angeben möchten, und wählen Sie dann die erforderliche Version aus (z. B. „a.b.c.d“).

    d. Wählen Sie Weiter aus.

Hinweis

Aktualisieren Sie die Betriebssystemversion zunächst auf mindestens 10.0.17763.615, um die SHA-2-Signierung zu unterstützen. Weitere Informationen finden Sie unten im Abschnitt „Einstellung von SHA-1 für IoT Core“.

  1. Wählen Sie im Dialogfeld Test-Flighting bestätigen die Option Veröffentlichen aus. Die Übermittlung des Ziels durchläuft einen Prozess, der die folgenden Schritte umfasst:

    • Validierung: Überprüfen der Korrektheit der Regeln zur Festlegung des Ziels

    • Festlegung des Ziels: Tatsächliche Konfigurationen, die für das Windows-Update festgelegt sind

    • Fertigstellen: Abschließen des Vorgangs zur Festlegung des Ziels

  2. Sie können den Status des Veröffentlichungsprozesses überprüfen, indem Sie auf den Link Status klicken.

    Neuer Test-Flight-Status

    An diesem Punkt ist das Windows Update-System zum Übermitteln der erforderlichen Updatepakete an das Gerät eingerichtet. Es kann einige Stunden dauern, bis die Einstellungen verteilt werden.

Schritt 6: Überprüfen der Updates auf dem Gerät

Die Updates sind jetzt im Windows-Update verfügbar, und Sie können sie auf dem Gerät überprüfen. Die Ringe ermöglichen ein schrittweises Rollout der Updates, beginnend mit Preview, dann EarlyAdopter und schließlich GeneralAvailability.

  1. Konfigurieren Sie Ihr Gerät für den Preview-Ring. Dazu können Sie die Azure DM-API (Azure-Geräteverwaltung) oder die API zum Aktualisieren der universellen Windows-Plattform (UWP) verwenden.

  2. Lassen Sie das Gerät nach Updates suchen. Das Gerät erkennt das veröffentlichte Update, lädt es herunter und installiert es automatisch (basierend auf den konfigurierten Updaterichtlinien).

    Dieser Vorgang kann abhängig von den Einstellungen für den Zeitpunkt der Überprüfung und die Nutzungszeit bis zu 24 Stunden dauern.

Einstellung von SHA-1 für IoT Core

SHA-1 wurde für das Windows 10 IoT Core-Betriebssystem eingestellt, und ab Windows 10 IoT Core, Version 1809, Update vom Juli (10.0.17763.615) wird ausschließlich SHA-2 unterstützt. Ab November 2019 werden alle benutzerdefinierten OEM-Pakete nur mit SHA-2-Signaturen signiert, und alle Geräte sollten zunächst auf Windows 10, Version 1809, Update vom Juli (10.0.17763.615) oder höher aktualisiert werden, damit SHA-2-signierte benutzerdefinierte OEM-Pakete als Ziel festgelegt werden können.

Hinweis

Die mit SHA-2 signierten Updates können in Betriebssystemversionen, die älter als 10.0.17763.611 sind, nicht installiert werden. Wir empfehlen, Ihr Gerätebetriebssystem zunächst mindestens auf diese Version zu aktualisieren und dann Ziele für Updates des benutzerdefinierten OEM-Pakets festzulegen.

Für Geräte, die Windows 10 IoT Core, Version 1803, ausführen, müssen Sie auf Windows 10 IoT Core, Version 1803, Update vom Juli (10.0.17134.885) aktualisieren. Wir empfehlen dringend, Geräte mit Version 1803 ebenfalls auf Version 1809, Update vom Juli, zu aktualisieren.

OEM-Signierung und Ablauf der übergreifenden Stammzertifikate

Die übergreifend signierten Stammzertifikate sind SHA-1 und werden bis zu ihrem Ablaufdatum unterstützt. Dieser Ablauf hat keinen Einfluss auf die bereits signierten Treiber im Image. Er wirkt sich auf das Signieren neuer Treiber nach dem Ablaufdatum aus.

Wichtig

Ab Windows 10 IoT Core, Version 1809, Update vom 10. November 2020 (17763.1577), wird die Signatur des OEM-Kerneltreibers unterstützt. Das Codesignaturzertifikat muss daher nicht mit dem übergreifend signierten Stammzertifikat verkettet werden. Für die OEM-Signierung müssen sowohl für Einzelhandels- als auch für Testimages sichere Start- und Geräteschutzfunktionen aktiviert sein. Toolupdates und Beispielzertifikate finden Sie im Branch IoT-ADK-AddonKit 17763-v7.

Weitere Informationen zur Veraltetkeit von SHA1 finden Sie unter den folgenden Links: