UpdateOrchestrator API

UpdateOrchestrator を使うと、ユーザーへの影響を考慮して自動ソフトウェア更新プログラムをスケジュールできます。 この API を使うと、ユーザーへの影響を最小限に抑えて最適なタイミングで更新を実行するように、要件と共にダウンロードやインストールなどのアクションを指定できます。 これらの機能は、コンピューティング リソースが限られているか低速な、低パフォーマンスのシステムに役立ちます。

Windows 20H1 には、OS の更新プログラムとストア アプリの更新プログラムで採用された自動ソフトウェア更新プログラムのユース ケース用の第 1 世代ソリューションが含まれており、"ユーザー モード" アプリの一部のアップデーター用に、この API の初期の "制限付きアクセス" バージョンが公開されています。

機能

  • ソフトウェア アップデーターを動的に登録する

  • ユーザーの不在時など、最適なタイミングで登録されたソフトウェア アップデーターを呼び出して、"ユーザー モード アプリ" を更新します。

  • ユーザーの不在時の影響をさらに軽減するために、AC 電源で "ウェイク状態を維持" する機能を含めます。

対象となる開発者

重要

UpdateOrchestrator (英語) API は制限付きアクセス機能の一部です ( LimitedAccessFeatures クラス). 詳細については、またはロック解除トークンを要求するには、LAF アクセス トークン要求フォームを使用してください。

Adobe の Acrobat Reader 用アップデーターや Valve の Steam など、Win32 "ユーザー モード" アプリケーション用のバックグラウンド ソフトウェア アップデーターが既にある場合は、UpdateOrchestrator API を使います。 Microsoft Store は既にこの機能をソフトウェア更新プログラムに利用しているため、UWP/Store アプリケーションにこのインターフェイスは必要ありません。

最適なカスタマー エクスペリエンスを提供するために、この初期の API リリースは、次の条件を満たす一部の登録済みアップデーターに限定されています。

  • "ユーザー モード" アプリケーションのみの更新プログラム
  • BIOS/ファームウェア/デバイスまたはソフトウェア ドライバーを含めない
    • 一般的な品質条件を満たしていない BIOS、ファームウェア、またはデバイス/ソフトウェア ドライバーを更新すると、特にユーザーが不在の場合に大きなリスクが生じます。
  • この API の使用に参加するには、バックグラウンドのソフトウェア アップデーターによってユーザーのシステムにダウンロードおよびインストールされたすべてのコンテンツを、監査を通じて保証できる必要があります。

制限付きアクセス機能としての UpdateOrchestrator API の初期リリースは、現時点では、上記の条件を満たすアップデーターのみを対象としています。

Microsoft の目的は、この API の機能を向上させ、Windows 上の複数の自動ソフトウェア アップデーターによる影響を軽減することです。 この簡単なアンケートを通じてご意見をいただき、UpdateOrchestrator API が開発者のニーズにどのように役立つかをお知らせいただけると幸いです。

Universal OrchestratorフレームワークによるOEMアプリの迅速化

重要

Universal Orchestratorは、イメージングプロセス中にアプリケーションを登録して、一度だけの緊急インストール/更新を実行するための機能をOEMに提供します。 このインストールは、ユーザーが新しいデバイスにログインしてから30分以内に行われます。 アプリケーションを迅速化すると、新しいデバイスのOut-of-Box Experienceのパフォーマンスに悪影響を及ぼす可能性があることに注意してください。 この機能は、選択したクライアントビルドおよび選択したリージョンでのみ使用できます。

要件

優先アプリフレームワークにプラグインするには、アプリが次の要件を満たしている必要があります。

  • MSIX形式のストアパッケージアプリである必要があります。
  • 有効な製品ファミリ名 (PFN)

登録

が必要です。Oemは、優先アプリの既存のステージングフォルダーに新しいキーを記述することによって、アプリケーションを優先するように登録できます。

HKLM\Software\Microsoft\WindowsUpdate\Orchestrator\UScheduler_OOBE

OEMが提供する各登録は、サブキー (この優先アプリを識別するために使用される一意の名前) と、このアプリケーションの特定のオプションを示す一連のレジストリ値の形式になっています。 各キーの内容は次の形式です。

キー名: この優先アプリの一意の名前

優先アプリ登録のサブキーの下で、Oemは2つの値を作成する必要があります。

  • 値の名前:updaterPriority
    説明: このアプリケーション更新プログラムの相対的な優先順位を示す番号
    値の型: REG_DWORD
    データ: 1-100からの数値。 値が小さいほど、他の優先アプリに対する相対的な優先順位が高くなります。

  • 値の名前:expeditedPayload
    説明: この特定のアップデーターのオプションを含むJSON BLOB
    値の種類: REG_SZ
    データ: この特定のアップデーターのオプションを含む有効なJSON BLOBを表す文字列

JSON BLOBの内容の概要:

都道府県 Type キー名 説明
必須 String PFN アプリのパッケージファミリ名 (例:Microsoft.WindowsStore_8 wekyb 3 d 8 bbwe) 。文字列MSIXパッケージをホストする場所を指す文字列URI。'https'で始まるSSL URIである必要があります。
必須 String エンドポイント このアップデーターが失敗後に再試行できる回数。 'https'で始まるSSL URIである必要があります。
省略可能 ブール型 AllowedInOobe この優先アプリをユーザーのOOBE中に実行するかどうかを指定します。
省略可能 番号 MaxRetryCount このアップデータが失敗した後に再試行できる回数。 既定値は 1 です。 最大値は5です。
省略可能 番号 TimeoutDurationInMinutes このアップデータが作業を完了するのを待機する時間 (分単位) 。 既定値は 15 です。 最大値は30です。
省略可能 Array (String) ExcludedRegions このアプリを迅速化しないリージョンの文字列のJSON配列。 配列内の各エントリは、目的のリージョンの2文字のISO 3166-1国コードに対応します。 たとえば["US"]、は、リージョンが米国であるデバイスでこのフローを防ぎます。

サンプルJSONペイロード:

{  
    "PFN": "PFNName",  
    "Endpoint": "SSL_URI",  
    "AllowedInOobe": false,  
    "MaxRetryCount": 3,  
    "TimeoutDurationInMinutes": 15,  
    "ExcludedRegions": ["CN", "FR"]   
}

実行

Universal Orchestratorフレームワークは、ユーザーが新しいデバイスでデスクトップに到達してから最初の30分以内 (AllowedInOobeがtrueに設定されている場合はユーザーOOBE中) に、相対的な優先順位に基づいて、登録されている各アプリを自動的に呼び出します。 OEM登録プロセスによって追加された各登録アプリケーションは、次のいずれかになるまで試行されます。

  • 正常にインストールされています
  • MaxRetryCountで指定された最大エラー数を超えています。 失敗するたびに、アプリは再試行される前に30分のクールダウン期間に入ります。

次のいずれかの条件に該当する場合、Universal Orchestratorフレームワークは緊急試行を実行しません。

  • デバイスにインターネットアクセスがありません
  • デバイスが従量制課金ネットワーク上にあります
  • デバイスがバッテリ駆動で、バッテリセーバーが有効になっています
  • デバイスがWindows Updateの制限付きネットワークトラフィックポリシーを使用して構成されています
  • デバイスが自動承認に設定されていないCTAポリシーを使用して構成されています

これらのいずれの場合も、Universal Orchestratorフレームワークは、デバイス構成で優先試行を続行できるようになるまで、登録を保持します。

重要

このフレームワークを使用してアプリを優先する場合は注意が必要です。デバイスが使用されている可能性があるときに更新操作が行われ、新しいデバイスでのユーザーエクスペリエンスのパフォーマンスに悪影響を及ぼす可能性があるためです。