Technical Anshu
Tutorials Blog
⏰ Scheduled Updates

Automatic App Updates With Winget Upgrade All and Task Scheduler

Updates only protect a PC when they actually run. Scheduling winget sounds like a one-minute job - until the task runs, does nothing, and leaves no error you can see.

✍️ Technical Anshu🪟 Windows⏱️ 7 minute read
🎥 Watch all three methods side by side in the full video

Winget has no built-in scheduler. The standard approach is a small batch file plus Windows Task Scheduler - and the standard failure is running that task as the SYSTEM account, under which winget usually cannot even be found, because winget belongs to the App Installer package registered per user. This guide builds the schedule the way that actually works, explains the trap honestly, and shows the log habit that proves your updates are really happening.

Task Scheduler - A Winget Update Task That Actually Works
TriggerWeekly, Sunday 11:00 PM
Run asThe logged-in user - NOT SYSTEM
ActionC:\Setup\update-apps.bat
Result last run0 - success, log written

The user account line is where most guides go wrong - see Fix 2 before you copy anyone's scheduled task.

A scheduled task that reports success but runs as the wrong account updates nothing
1

Put the Upgrade Command in a Batch File With a Log

  1. Create a folder like C:\Setup and a file update-apps.bat in it
  2. The file's one working line: winget upgrade --all --silent --accept-package-agreements --accept-source-agreements >> C:\Setup\winget-log.txt 2>&1
  3. The ending writes every run's output into winget-log.txt - without a log, a scheduled task is a rumour, not a system
  4. Double-click the batch file once and read the log to prove the command itself is healthy before scheduling anything
2

Schedule It Under the Right Account ⭐

  1. Open Task Scheduler → Create Task. Name it clearly, for example Weekly Winget App Updates
  2. On the General tab, run it as your user account (or the standard user of that PC) with 'Run with highest privileges' ticked. Do not use SYSTEM - winget is delivered by App Installer per user, and under SYSTEM the command is typically not found at all
  3. Set a weekly trigger at a time the PC is normally on - Sunday night suits office desktops; for a laptop, add "run as soon as possible after a missed start"
  4. Action: Start a program → C:\Setup\update-apps.bat. Save, then right-click the task and Run it once to watch it work under the scheduler too
3

Verify Monthly, and Know the Alternatives

  1. Once a month, open winget-log.txt and confirm recent runs list real upgrades, not the same error repeated
  2. Remember apps that were open during their update slot sometimes skip - the next weekly run catches them
  3. On a home PC, a saved Ninite installer can be scheduled the same way for its own app list - same Task Scheduler pattern, same log idea
  4. In an office, scheduled winget per PC is a starter method. Past a handful of machines, central deployment with reporting (Endpoint Central policies) is the honest upgrade, because 'the log on each PC' stops being something anyone reads
⚠️ Honest limits: a scheduled task cannot update a PC that is off, asleep in a bag, or whose user never logs in - and winget only updates apps it manages, not Windows itself or drivers. Treat it as one layer of maintenance, not the whole of it.

🎥 Watch the Full Comparison

The video schedules exactly this task and shows the log afterwards - including the failed first attempt under the wrong account.

▶️ Watch Full Video
❓ Frequently Asked Questions

My scheduled task says it ran but nothing updated. Why?

The classic cause is the task running as SYSTEM, where winget is not available, so the batch fails instantly. The log file shows it plainly - usually a 'not recognised' error. Change the task to run as the user account and test again.

How often should the update task run?

Weekly is the sweet spot for most PCs - frequent enough for security fixes, rare enough to not disturb work. Browsers and communication apps update themselves more often anyway; this task is the safety net for everything else.

Will this update Microsoft Store apps too?

Winget can include the msstore source in upgrades, but Store apps primarily update through the Store itself. Leave the Store's own auto-update on as well - the two systems complement each other.

This guide is based on the Technical Anshu video on automatic software installation • Stuck on a step? Ask in the video comments and you will get a reply 🙏