UpdateOrchestrator API
UpdateOrchestrator 會排程您的自動軟體更新,並考慮到用戶的影響。 此 API 可讓您 指定動作,例如下載或安裝,以及其需求,以在將使用者呈現的影響降至最低的最佳時間執行更新。 這些功能特別有利於低效能系統,且運算資源有限或較慢。
Windows 20H1 包含作業系統更新和市集應用程式更新採用的自動軟體更新使用案例的第一代解決方案,並針對一組選取的「使用者模式」應用程式更新程式公開此 API 的初始「有限存取」版本,如下所述。
功能
動態註冊軟體更新器
在最佳時間叫用已註冊的軟體更新器,例如在使用者缺席期間更新「使用者模式應用程式」。
包括「保持清醒」在 AC 電源上的能力,以進一步降低使用者離開的影響。
開發人員物件
重要
UpdateOrchestrator API 是有限存取功能的一部分(請參閱 LimitedAccessFeatures 類別)。 如需詳細資訊或要求解除鎖定令牌,請使用 LAF存取令牌要求表單。
如果您已經有 Win32「使用者模式」應用程式的背景軟體更新器,例如 Adobe 的 Acrobat 讀取器更新程式或 Valve 的蒸汽更新程式,請使用 UpdateOrchestrator API。 UWP/Store 應用程式不需要此介面,因為 Microsoft Store 已經利用這項功能進行軟體更新。
為了提供最佳的客戶體驗,此初始 API 版本的範圍是一組符合下列準則的已註冊更新程式:
- 僅限「使用者模式」應用程式的 更新
- 請勿涉及 BIOS/韌體/裝置或軟體驅動程式
- 更新未通過一般品質準則的 BIOS、韌體或裝置/軟體驅動程式會造成重大風險,尤其是在使用者不存在時。
- 參與此 API 的使用,需要能夠透過稽核來保證用戶系統上背景軟體更新人員下載並安裝的所有內容。
UpdateOrchestrator API 作為有限存取功能的初始版本僅適用於目前符合上述準則的更新程式。
我們的目標是改善此 API 的功能,並減少 Windows 上多個自動軟體更新程序的影響。 我們很感激您透過這份 簡短的調查 提供您的意見,以協助我們瞭解UpdateOrchestrator API如何更能為您的開發人員需求提供服務。
透過通用 Orchestrator 架構加速 OEM 應用程式
重要
通用 Orchestrator 提供 OEM 的功能,可在映像處理期間註冊應用程式,以執行一次性加速安裝/更新。 此安裝會在使用者登入新裝置的30分鐘內發生。 請注意,加速應用程式可能會對新裝置的現成體驗造成負面影響。 此功能僅適用於選取客戶端組建,以及選取區域中。
需求
若要插入加速應用程式架構,應用程序必須符合下列需求:
- 它必須是 MSIX 格式的市集封裝應用程式
- 它必須具有有效的產品系列名稱 (PFN)
註冊
OEM 可以在現有暫存資料夾中為加速應用程式撰寫新的金鑰,以註冊要加速的應用程式:
HKLM\Software\Microsoft\WindowsUpdate\Orchestrator\UScheduler_OOBE
每個 OEM 提供的註冊都以 SubKey 的形式提供(具有用來識別此加速應用程式的唯一名稱),以及一組登錄值,以指出此應用程式的特定選項。 每個金鑰的內容的格式如下:
機碼名稱: 此加速應用程式的唯一名稱
在加速應用程式註冊的子機碼下,OEM 必須建立兩個值:
值名稱: updaterPriority
描述:指出此應用程式更新相對優先順序的數位
設置選項: REG_DWORD
數據:1 - 100 的數值。 較低的值表示其他加速應用程式的相對優先順序較高。數值名稱: expeditedPayload
描述:具有此特定更新程序選項的 JSON Blob
值類型:REG_SZ
數據:字串,代表具有此特定更新程序選項的有效 JSON Blob
JSON Blob 的內容概觀:
州/省 | 類型 | 索引鍵名稱 | 描述 |
---|---|---|---|
必要 | String | PFN | 應用程式的套件系列名稱(例如:Microsoft.WindowsStore_8wekyb3d8bbwe) |
必要 | String | 端點 | 字串 URI,指向裝載 MSIX 套件的位置。 必須是開頭為 『HTTPs』 的 SSL URI。 |
選擇性 | 布林值 | AllowedInOobe | 此加速應用程式是否應在使用者 OOBE 期間執行 |
選擇性 | 數字 | MaxRetryCount | 此更新程式在失敗后允許重試的次數。 預設為 1。 最大值為 5。 |
選擇性 | 數字 | TimeoutDurationInMinutes | 等候此更新程式完成工作的持續時間,以分鐘為單位。 預設值為 15。 最大值為 30 |
選擇性 | 陣列 (字串) | ExcludedRegions | 此應用程式不應加速之區域的 JSON 字串陣列。 數位列中的每個項目都會對應至所需區域的 2 個字母 ISO 3166-1 國家/地區代碼。 例如,["US"] 會在區域 美國 的裝置上防止此流程。 |
範例 JSON 承載:
{
"PFN": "PFNName",
"Endpoint": "SSL_URI",
"AllowedInOobe": false,
"MaxRetryCount": 3,
"TimeoutDurationInMinutes": 15,
"ExcludedRegions": ["CN", "FR"]
}
執行
通用 Orchestrator 架構會根據相對優先順序,依序叫用每個已註冊的應用程式,在用戶連線到新裝置桌面的前 30 分鐘內(如果 AllowedInOobe 設定為 true,則為 User OOBE 期間)。 OEM 註冊程式新增的每個已註冊應用程式都會嘗試,直到下列其中一項:
- 已成功安裝
- 它超過 MaxRetryCount 中指定的失敗數量上限。 每次失敗之後,應用程式都會進入 30 分鐘的冷卻期間,然後再嘗試一次。
如果下列任一條件成立,通用 Orchestrator 架構將不會執行加速嘗試:
- 裝置沒有因特網存取
- 裝置位於計量付費網路上
- 裝置處於電池狀態,且已啟用省電模式
- 裝置是使用 Windows Update 受限制的網路流量原則進行設定
- 裝置已設定為未針對 AutoApprove 設定的 CTA 原則
在這些案例中,通用 Orchestrator 架構會保留註冊,直到裝置設定允許加速嘗試繼續進行為止。
重要
選擇透過此架構加速應用程式時,請小心謹慎,因為當裝置可能正在使用中時,更新作業就會發生,而且可能會對新裝置上的用戶體驗造成負面影響。