💥 Actual behavior
On specific Windows 11 Enterprise configurations, Fleet's OS Update policies (deadlines and grace periods) are ignored.
The Windows Hotpatching provider (GUID B04F44A4-B696-4B56-934A-C11667E944E4) claims "Winning Provider" status in the registry. Because this provider doesn't handle full MDM management, QualityUpdateEnrolled defaults to 0, causing the Windows Update Agent to ignore Fleet's configuration.
🛠️ To fix
Up to product team.... Suggestion to look at:
Fleet could detect this conflict and assert priority, or automatically disable the Hotpatching feature if it interferes with managed updates.
Workaround: Explicitly disable Hotpatching via the Policy Manager (x64 compatible):
HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Update
Value: AllowRebootlessUpdates = 0 (DWORD)
(Note: The previously suggested HotPatchRestrictions key is specific to Arm64 hardware and is ignored by the OS on x64 clients).
🧑💻 Steps to reproduce
These steps:
- Enroll a Windows 11 Enterprise device with Hotpatching features (AllowRebootlessUpdates) active.
- Apply a Windows Update profile via Fleet (e.g. set a deadline).
- Check the registry at
HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Update.
- Observe that
QualityUpdateEnrolled is 0 and WinningProvider matches the Hotpatch GUID (B04F...).
🕯️ More info (optional)
This appears to be an arbitration conflict where the OS favors the native "Rebootless Updates" provider over the MDM provider. The registry keys for the Hotpatch provider regenerate immediately if deleted manually.
💥 Actual behavior
On specific Windows 11 Enterprise configurations, Fleet's OS Update policies (deadlines and grace periods) are ignored.
The Windows Hotpatching provider (GUID
B04F44A4-B696-4B56-934A-C11667E944E4) claims "Winning Provider" status in the registry. Because this provider doesn't handle full MDM management,QualityUpdateEnrolleddefaults to0, causing the Windows Update Agent to ignore Fleet's configuration.🛠️ To fix
Up to product team.... Suggestion to look at:
Fleet could detect this conflict and assert priority, or automatically disable the Hotpatching feature if it interferes with managed updates.
Workaround: Explicitly disable Hotpatching via the Policy Manager (x64 compatible):
HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Update
Value: AllowRebootlessUpdates = 0 (DWORD)
(Note: The previously suggested HotPatchRestrictions key is specific to Arm64 hardware and is ignored by the OS on x64 clients).
🧑💻 Steps to reproduce
These steps:
HKLM\SOFTWARE\Microsoft\PolicyManager\current\device\Update.QualityUpdateEnrolledis0andWinningProvidermatches the Hotpatch GUID (B04F...).🕯️ More info (optional)
This appears to be an arbitration conflict where the OS favors the native "Rebootless Updates" provider over the MDM provider. The registry keys for the Hotpatch provider regenerate immediately if deleted manually.