裝置更新中心使用者指南

裝置更新中心入口網站提供 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-IoTSignature和Redo-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-IoTSignature和Redo-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 淘汰的詳細資訊,請參閱下列連結: