This release introduces a major reliability enhancement to the VSCode-Updater execution pipeline: Windows servicing‑blocked detection with deterministic early‑abort behavior. The updater now protects installations from corruption when Windows itself is in an unhealthy servicing state (component store corruption or pending reboot).
This is a foundational upgrade to the watchdog architecture and significantly improves safety on long‑lived Windows systems.
🚀 What’s New in 3.1.0
Windows Servicing‑Blocked Detection
VSCode-Updater now performs a pre‑flight servicing health check using:
DISM /Online /Cleanup-Image /CheckHealth- Windows pending reboot indicators
If Windows servicing is unhealthy, the updater:
- aborts monitoring immediately
- terminates the installer worker
- skips retries
- skips fallback
- logs full diagnostics
- emits deterministic exit code 114 (ServicingBlocked)
This prevents partial installs and protects VS Code from corruption.
🛡️ New Watchdog Lane: ServicingBlocked
A fourth watchdog lane has been added alongside filesystem, idle, and active stall detection.
The ServicingBlocked lane:
- exits before extraction, payload load, or finalization
- produces a complete diagnostic summary
- integrates with the timeline system
- suppresses ZIP fallback
- returns a deterministic exit code
This is a major architectural enhancement to the updater’s safety model.
📊 Improved Diagnostics & Logging
- DISM corruption flags logged explicitly
- Pending reboot flags logged
- Timeline entries reflect early‑exit behavior
- Summary includes stall type:
ComponentStoreCorruptorPendingReboot - Fallback suppression logged deterministically
Logs now provide full operator‑grade visibility into servicing failures.
🔧 Changes
- Main update loop now skips retries and fallback when servicing is blocked
- ZIP fallback suppressed during servicing‑blocked conditions
- Module manifest (
.psd1) updated with new version and exit code - Module file (
.psm1) updated with new watchdog lane wiring - README updated with servicing‑blocked documentation and architecture notes
🐛 Fixes
- Removed stray boolean diagnostic output caused by
WriteLogreturning values to the pipeline - Improved cleanup behavior for early‑abort scenarios
- Corrected final result propagation to avoid misclassification as installer failure
📦 Exit Codes
New:
- 114 — ServicingBlocked
Windows servicing corruption or pending reboot prevents safe installation.
📅 Release Date
2026‑08‑13