Author: Ari Sohandri Putra
Version: 2.0
Build: Visual Studio 2010 C++
-
Error Code 5 (Access Denied) resolved - The error was caused by
WaaSMedicSvc(Windows Update Medic Service), which is a protected system service on Windows 10/11. It uses a special self-healing mechanism that prevents it from being disabled via standardChangeServiceConfigcalls, even with full Administrator rights.Fix applied:
- The core service
wuauserv(Windows Update) andbits/UsoSvcare disabled as normal. WaaSMedicSvcis attempted but silently skipped on failure — it does not block the overall operation.- Registry Group Policy keys (
NoAutoUpdate,AUOptions,DisableWindowsUpdateAccess) are written to provide a second layer of blocking. - The toggle state now reflects actual service status, not just the last operation result.
- The core service
- The
app.manifestfile setslevel="requireAdministrator". - The
resource.rcfile embeds this manifest into the.exeusingRT_MANIFEST. - Result: Windows automatically shows the UAC elevation prompt when you
double-click the
.exe. No need to right-click → "Run as administrator". - A fallback
ShellExecute("runas", ...)is also in code for edge cases.
- Replaced dark theme with a clean light palette (white, soft blue-grey, green/red accents).
- Classic modern layout: header strip with shield icon + title, white card panel, footer bar.
- Custom-drawn toggle switch with smooth animation.
- Custom-painted Refresh button with hover effect.
- Admin status indicator in the footer bar.
- System tray integration (double-click to restore, right-click for menu).
- All labels, messages, and dialogs are now in English.
- Program title: Windows Update Blocker
- Open
WindowsUpdateBlocker.slnin Visual Studio 2010. - Select Release | Win32.
- Build > Build Solution (F7).
- Output:
Release\WindowsUpdateBlocker.exe
Important: Ensure
resource.rcandapp.manifestare in the same folder asmain.cppbefore building. The manifest must be compiled into the.exefor UAC auto-elevation to work.
| Service | Name | Notes |
|---|---|---|
wuauserv |
Windows Update | Core - always managed |
bits |
Background Intelligent Transfer Service | Managed |
UsoSvc |
Update Orchestrator Service (Win10+) | Managed if present |
WaaSMedicSvc |
Windows Update Medic Service (Win10+) | Best-effort (may be protected) |
Registry keys written when blocking:
HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU→NoAutoUpdate=1,AUOptions=1HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate→DisableWindowsUpdateAccess=1
Free to use and modify. Credit appreciated.
© 2026 Ari Sohandri Putra