Skip to content

VSCode-Updater v3.1.0 — Servicing‑Blocked Detection & Early‑Abort Pipeline

Latest

Choose a tag to compare

@ldmcclatchey ldmcclatchey released this 13 Aug 22:10
· 2 commits to main since this release

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: ComponentStoreCorrupt or PendingReboot
  • 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 WriteLog returning 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