裝置更新中心使用者指南

裝置更新中心入口網站提供 OEM 方法來:

  • 將 OEM 自訂套件 (OCP) 發佈至 Windows Update Cloud
  • 根據正式發行前小眾測試版套件將 OEM 自訂套件傳送至其裝置
  • 根據正式發行前小眾測試版更新其裝置的正式發行前小眾測試版 OS 更新

裝置更新中心的必要條件

開始註冊程式之前,請先檢閱下列需求:

  • 您必須具有延伸驗證 (EV) 程式碼簽署憑證。 請檢查貴公司是否已經有程式碼簽署憑證。 如果您的公司已經有憑證,請讓憑證可供使用。 您需要憑證才能簽署檔案. 如果您的公司沒有憑證,您必須在註冊程式中購買一個憑證。

  • 您必須以組織的 Azure Active Directory 全域管理員身分登入。 如果您不知道您的組織是否有 Azure Active Directory,請連絡 IT 部門。 如果您的組織沒有 Azure Active Directory,您將可以免費建立一個

  • 您必須擁有代表貴組織簽署法律合約的授權單位。

步驟 1:設定

註冊

  1. 建立 Windows 硬體開發人員中心帳戶 ,以存取裝置更新中心 (DUC) 。 您將需要:

    • 擴充驗證 (EV) 程式碼簽署憑證:用來驗證提交更新的更新 cab 檔案
    • 具有系統管理員許可權的 Azure Active Directory (AAD) 帳戶:用來簽署法律合約

    如需註冊程式的詳細指示,請參閱 註冊硬體計畫

  2. 註冊Windows 10 IoT 核心版 服務

  3. 使用系統管理員角色登入硬體開發人員中心,並為組織中的其他使用者指定角色。 您將需要:

    • 更新提交的驅動程式提交者 角色
    • 更新正式發行前小眾測試的出貨標籤擁有者角色

    如需詳細指示 ,請參閱變更使用者的角色

安裝工具

  1. Windows ADK) (Windows 評定與部署套件
  2. IoT 核心版 ADK 附加元件
  3. Windows 10 IoT 核心版套件
  4. 從晶片廠商取得您平臺的 BSP。 請參閱BSP Windows 10 IoT 核心版

設定環境

  1. 啟動 IoTCorePShell (會啟動提升許可權的命令提示字元) ,並建立/開啟您的工作區

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

    請注意,OEM 自訂套件的初始版本設定為 10.0.0.0。

  2. 設定裝置更新中心中使用的 EV 憑證,以及工作區中的程式碼簽署憑證。

    <!--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>
    
    • 根據憑證詳細資料更新「簽發者」、「主體」。
    • CrossCertRoot.cer 對應至跨 憑證清單中發佈的交叉簽署憑證根憑證。

    您可以使用用於硬體開發人員中心的相同 EV 憑證,或只針對程式碼簽署目的取得不同的憑證。 建議針對每個用途保留個別的憑證。

步驟 2:建立新產品

  1. 使用Add-IoTProduct建立新產品

    Add-IoTProduct <productname> <bspname>
    (or) newproduct <productname> <bspname>
    
  2. 出現提示時提供 SMBIOS 資訊。 針對 Qualcomm,這會儲存在 SMBIOS.cfg 檔案中。 對於其他平臺,您必須更新 BIOS 以反映這些值。

    如需強制 SMBIOS 欄位,請參閱 OEM 授權需求 。 更新中使用的索引鍵欄位如下:

    • 更新入口網站中稱為 裝置型號的系統產品名稱。

    • 基底板產品,在更新入口網站中稱為 硬體變體識別碼

    請注意, IoTDeviceModel_<productname>.xml 也會建立 。 這會用於在下一個步驟中註冊裝置型號。

    螢幕擷取畫面 - Powershell 新功能

步驟 3:在裝置更新中心註冊裝置型號

  1. 在 [裝置更新中心] 入口網站中,選取 [新增裝置型號]。

    新增裝置型號 - 選取

  2. 流覽您的檔案,然後從您的工作區中選取 IoTDeviceModel_<productname>.xml

    新增裝置型號 - 工作區

  3. 確認裝置型號規格,然後按 [提交]。

    新增裝置型號 - 提交

    新的裝置型號專案將會新增至裝置型號資料表。 您也會在該資料表中看到 下載 連結。

  4. 下載 zip 檔案 (CUSConfig.zip)

建置裝置的基底映射

  1. 在 IoTCoreShell 中,使用Import-IoTDUCConfig匯入組態檔

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

    這也會編輯 OEMInputXML 檔案,以包含必要的 FM 檔案和功能識別碼。 如果存在,這也會移除 IOT_GENERIC_POP 功能。

    匯入組態檔

  2. 使用Add-IoTSignatureRedo-IoTCabSignature簽署所有必要的二進位檔

    # 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. 使用下列命令建置基底映射

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

    這可讓您使用 OEM 自訂套件 10.0.0.0 版的基底映射。

  4. 驗證裝置上的此映射。

步驟 4:發佈更新

到目前為止,我們已建立可更新的映射,可用來製造和寄送裝置。 在此步驟中,我們將探討建立更新套件並在入口網站中發佈更新套件的程式。

建立更新套件

  1. 使用Set-IoTCabVersion先更新版本號碼

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

    請確定 a.b.c.d 的版本高於先前的版本集。

  2. 如果有新版本的 BSP 驅動程式可用,請將它們複製到先前 (範例中的 BSP 資料夾設定, C:\BSP) 。 或者,將所有更新的驅動程式保留在不同的資料夾中, C:\BSPv2 例如,並更新您的工作區 xml。

  3. 如果有新版本的現有 appx,請使用相同名稱建立新的 appx。 請注意,產生的customizations.xml識別碼會與舊版相同。

  4. 如果有更新的驅動程式版本可用,請更新二進位檔和封裝 xml 檔案。

  5. 視需要更新任何其他套件內容。

  6. 使用Add-IoTSignatureRedo-IoTCabSignature簽署所有必要的二進位檔

    # 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. 使用下列命令建置更新映射

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

    這可讓您使用 OEM 自訂套件版本 < a.b.c.d > 的基底映射。

  8. 驗證裝置上的此映射,以確定裝置會開機並包含所有更新。

  9. 成功驗證更新組建之後,請使用Export-IoTDUCCab 匯出必要的套件

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

    <productname>_OCP_<version>.cab 將會在 <workspacedir>\Build\<arch>\<productname>\<config>\<version>\ 資料夾中建立,以及 <productname>_OCP_pkgver.txt 列出隨附的 cab 及其版本資訊的檔案。 此 cab 將會使用工作區 xml 中設定的 EV 憑證簽署。

發佈更新

  1. 在 [裝置更新中心] 入口網站中,選取 [裝置型號] 資料表中的 [裝置型號]

  2. 選取[更新提交>][新增自訂套件]

    新增自訂套件

  3. 流覽您的檔案,然後從您的工作區中選取 <productname>_OCP_<version>.cab

    新增自訂套件 - 選取

  4. 確認發行版本本資訊,然後按 [發佈]。

    發行提交會經過下列程式:

    • 驗證:檢查上傳套件的內容是否有真實性和正確性

    • 簽署:使用 microsoft 憑證簽署 cabs,以發佈至 Windows Update

    • 發佈:實際發佈步驟至 Windows Update

    • 完成:完成發佈程式

  5. 您可以按一下 [ 狀態 ] 連結來檢查發佈程式的狀態。 這個程序需要一些時間才能完成。

    新增自訂套件 - 狀態

步驟 5:目標更新

成功發佈更新之後,您現在可以藉由指定目標規則來控制傳遞程式。

  1. 選取[更新正式發行前小眾測試版],然後選取 [新增正式發行前小眾測試版]

    新增正式發行前小眾測試版

  2. 在 [新增正式發行前小眾測試版] 對話方塊中:

    新增正式發行前小眾測試版對話方塊

    a. 指定環形 (Preview / / EarlyAdopterGeneralAvailability) ,例如 Preview。 請注意,下載並包含在映射中的 xml 檔案,預設會將此值設定為GeneralAvailability

    • 預覽 通道:更新一組有限的裝置,大部分是在實驗室中

    • EarlyAdopter 通道:在使用者環境中更新中等數量的裝置,包括自我裝載裝置

    • GeneralAvailability 通道:更新市場中的每個裝置

    b. 如果您想要指定新的 OS 版本,請選取 [OS 版本] 方塊,然後選取必要的 OS 版本

    c. 如果您想要指定新的 OEM 自訂套件版本,然後選取必要的 OEM 自訂套件版本,例如 a.b.c.d,請選取 OEM 自訂套件版本方塊

    d. 選取 [下一步]

注意

先將 OS 版本更新為 10.0.17763.615,以支援 SHA-2 簽署。 如需詳細資訊,請參閱下方的 SHA1 取代 IoT 核心版一節。

  1. 在 [ 確認正式發行前小眾測試版] 對話方塊中,選取 [發佈]。 目標提交會經過包含的程式

    • 驗證:驗證目標規則的正確性

    • 目標:在Windows Update上設定的實際組態

    • 完成:完成目的程式

  2. 您可以按一下 [ 狀態 ] 連結來檢查發佈程式的狀態。

    新增正式發行前小眾測試版狀態

    此時,Windows Update系統會設定為將必要的更新套件傳遞至裝置。 設定傳播前可能需要數小時的時間。

步驟 6:驗證裝置上的更新

現在 Windows 更新上已有更新可用,您現在可以驗證裝置上的更新。 提供通道以啟用分段推出更新,從預覽開始,以及 EarlyAdopter、GeneralAvailability。

  1. 將您的裝置設定為預覽通道。 這可以使用Azure DM API更新 UWP API來設定

  2. 讓裝置掃描更新,裝置會根據) 設定的更新原則,偵測已發佈的更新、下載並自動安裝 (。

    此程式可能需要 24 小時以上的時間,視掃描時間和使用時間設定而定。

IoT 核心的 SHA1 淘汰

Windows 10 IoT 核心版 OS 的 SHA1 淘汰已推出,且僅支援 SHA-2,從Windows 10 1809 年 7 月更新 (10.0.17763.615) 開始啟用 IoTCore 1809 版。 從 2019 年 11 月開始,所有 OEM 自訂套件只會使用 SHA-2 簽章簽署,而且所有裝置都應該先更新為Windows 10 1809 7 月更新 (10.0.17763.615) 或更新版本,以以 SHA-2 簽署的 OEM 自訂套件為目標。

注意

SHA-2 簽署的更新無法在 10.0.17763.611 之前的作業系統版本中安裝。 建議您先將裝置 OS 更新為至少此版本,然後再以 OEM 自訂套件更新為目標。

對於執行 Windows 10 IoTCore 版本 1803 的裝置,您必須更新至Windows 10 IoTCore 1803 版 7 月更新 (10.0.17134.885) 。 我們強烈建議將 1803 個裝置更新為 1809 年 7 月更新版本。

OEM 簽署和跨憑證根目錄到期

交叉簽署的根憑證是 SHA1,且將在 到期日之前受到支援。 此到期不會影響映射中已經簽署的驅動程式,且會影響到期日之後的新驅動程式簽署。

重要

從 Windows 10 IoT 核心版 2020 年 11 月 10 日 1809 版 1809 版開始, (17763.1577) ,支援 OEM 核心驅動程式簽署。 如此一來,程式碼簽署憑證就不需要鏈結至跨簽署的根目錄。 OEM 簽署需要針對零售和測試映射啟用安全開機和裝置防護功能。 如需工具更新和範例憑證,請參閱 IoT-ADK-AddonKit 17763-v7 分支。

如需 SHA1 淘汰的詳細資訊,請參閱下列連結: