Skip to content

Vikindor/disable-edge-updates

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Disable Microsoft Edge Auto-Updates

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.

✨ Features

  • 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 .bat wrappers with auto-elevation and pwsh/powershell fallback.
  • Clear console output.
  • Safe to move between folders; paths aren’t hardcoded.

🖼 Screenshot

PowerShell console screenshot

🧩 Requirements

  • Windows 10 / 11
  • PowerShell 5.1+ or 7+ (recommended)
  • Administrator rights

Architecture compatibility

  • Both 32-bit (x86) and 64-bit (x64) Windows installations are supported where the selected Windows version provides Edge/WebView2.
  • On x64 Windows, the .bat wrappers prefer an installed PowerShell 7 host and use the 64-bit Windows PowerShell path as the fallback, including through Sysnative when required.
  • On x86 Windows, the wrappers fall back to the native 32-bit Windows PowerShell host.
  • The PowerShell scripts resolve Program Files locations from the system environment. The Program Files (x86) updater location is processed only when Windows exposes it for that architecture.

📁 Files

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 .bat wrappers run the corresponding .ps1 from that folder, so you can move the folder anywhere.

🚀 Usage

1️⃣ Disable auto-updates

Run:

RUN_disable_edgeupdate.bat

The script will:

  • Stop and disable edgeupdate and edgeupdatem services.
  • Terminate MicrosoftEdgeUpdate.exe if present.
  • Remove scheduled tasks whose names start with MicrosoftEdgeUpdateTask (handles GUID suffixes).
  • Create update-blocking policies.
  • Remove and recreate EdgeUpdate folders with ACLs that deny write/execute for Everyone.

2️⃣ Restore auto-updates

Run:

RUN_restore_edgeupdate.bat

The script will:

  • Remove ACL restrictions from the EdgeUpdate folders.
  • Remove the update policy values created by this project and leave unrelated EdgeUpdate policy values intact.
  • Set existing edgeupdate and edgeupdatem services 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.)

❗ Notes

  • 32-bit PowerShell on x64 Windows: Directly running a .ps1 in a 32-bit host can redirect registry and filesystem access. Use the .bat wrappers, which select a suitable host automatically.
  • Windows PowerShell 5.1 compatibility: Keep .ps1 source 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 .ps1 next to the .bat, so the folder can be moved without breaking paths.
  • Logging: Scripts print OK, SKIP/INFO, or ERROR for each step. SKIP/INFO is used for items that are already absent, real failures are reported as ERROR, and critical failures cause a non-zero exit code.

❓ Troubleshooting

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.

About

Scripts for Windows to disable and remove Microsoft Edge auto-updates

Topics

Resources

License

Stars

10 stars

Watchers

1 watching

Forks

Contributors