Scripts to disable or restore Microsoft Edge auto-updates, including the WebView2 runtime. Ideal for systems where Edge is unused but WebView2 is required by other apps, or where full control over update behavior is desired.
- Two portable PowerShell scripts:
- disable — stops services, removes tasks, applies policies, and blocks folders.
- restore — removes restrictions and prepares the updater for use or reinstallation.
- Works for both Edge browser and WebView2 runtime (they share the same updater).
- Portable
.batwrappers with auto-elevation andpwsh/powershellfallback. - Clear console output.
- Safe to move between folders; paths aren’t hardcoded.
- Windows 10 / 11
- PowerShell 5.1+ or 7+ (recommended)
- Administrator rights
- Both 32-bit (x86) and 64-bit (x64) Windows installations are supported where the selected Windows version provides Edge/WebView2.
- On x64 Windows, the
.batwrappers prefer an installed PowerShell 7 host and use the 64-bit Windows PowerShell path as the fallback, including throughSysnativewhen required. - On x86 Windows, the wrappers fall back to the native 32-bit Windows PowerShell host.
- The PowerShell scripts resolve
Program Fileslocations from the system environment. TheProgram Files (x86)updater location is processed only when Windows exposes it for that architecture.
| File | Description |
|---|---|
disable_edgeupdate.ps1 |
Disables Edge update services, terminates updater, removes tasks (GUID-safe), sets update policies, and blocks update folders via ACLs. |
RUN_disable_edgeupdate.bat |
Batch wrapper that auto-elevates, selects an appropriate PowerShell host, and runs the disable_edgeupdate.ps1 script. |
restore_edgeupdate.ps1 |
Removes folder ACL restrictions and policy values, unblocks existing services, and prepares the system for Edge/WebView2 reinstallation. |
RUN_restore_edgeupdate.bat |
Batch wrapper that auto-elevates, selects an appropriate PowerShell host, and runs the restore_edgeupdate.ps1 script. |
Keep all files in the same folder. The
.batwrappers run the corresponding.ps1from that folder, so you can move the folder anywhere.
Run:
RUN_disable_edgeupdate.batThe script will:
- Stop and disable
edgeupdateandedgeupdatemservices. - Terminate
MicrosoftEdgeUpdate.exeif present. - Remove scheduled tasks whose names start with
MicrosoftEdgeUpdateTask(handles GUID suffixes). - Create update-blocking policies.
- Remove and recreate
EdgeUpdatefolders with ACLs that deny write/execute for Everyone.
Run:
RUN_restore_edgeupdate.batThe script will:
- Remove ACL restrictions from the
EdgeUpdatefolders. - Remove the update policy values created by this project and leave unrelated
EdgeUpdatepolicy values intact. - Set existing
edgeupdateandedgeupdatemservices to Manual, and start them only when the updater executable is installed. - If the updater was removed, reinstall Edge or WebView2 after the script finishes; their installer will recreate the updater components.
- (Scheduled tasks will be recreated by Edge/WebView2 during the next update or by the Evergreen installer.)
- 32-bit PowerShell on x64 Windows: Directly running a
.ps1in a 32-bit host can redirect registry and filesystem access. Use the.batwrappers, which select a suitable host automatically. - Windows PowerShell 5.1 compatibility: Keep
.ps1source ASCII-only where practical. Some Windows PowerShell 5.1 environments can misread non-ASCII punctuation and produce misleading parser errors. - Manual updates: After disabling, you can still update WebView2 manually using Microsoft’s Evergreen Standalone Installer.
- Scope: Edge browser and WebView2 share the same updater infrastructure (
edgeupdate/edgeupdatem+ scheduled tasks). Disabling affects both. - Portability: The wrappers resolve the
.ps1next to the.bat, so the folder can be moved without breaking paths. - Logging: Scripts print
OK,SKIP/INFO, orERRORfor each step.SKIP/INFOis used for items that are already absent, real failures are reported asERROR, and critical failures cause a non-zero exit code.
Q: I see SKIP/INFO: stop edgeupdate (Cannot find any service with service name 'edgeupdate'.)
A: The service is missing (already removed or never installed). Informational only.
Q: ERROR: Access is denied while changing services or registry.
A: Not elevated. Run via the .bat wrappers — they request admin rights automatically.
Q: After disabling, a WebView2-based app won’t start.
A: Some apps rely on the updater during component installation. Run RUN_restore_edgeupdate.bat, install/update WebView2 (Evergreen), then disable again if desired.
Q: Tasks reappear in Task Scheduler later.
A: Edge/WebView2 may recreate them when a WebView2 app launches. Re-run the disable script; folder ACLs help prevent persistence.
