This project uses the Winget tool to daily update apps (with system context) and notify users when updates are available and installed.
Just download latest version, unzip, run "install.bat" as admin.
You can exclude apps from update job (for instance, apps you want to keep at a specific version or apps with built-in auto-update): Add (or remove) the apps' ID you want to disable autoupdate to 'excluded_apps.txt'. (File must be placed in scripts' installation folder, or re-run install.bat).
By default, scripts and componants will be placed in ProgramData location (inside a Winget-AutoUpdate folder). You can change this with script argument.
You can easily translate toast notifications by creating your locale xml config file (and share it with us :) ).
Scheduled task is set to run:
- At user logon
- At 6AM eveyday (with the -StartWhenAvailable option to be sure it is run at least once a day) This way, even without connected user, powered on computers get updated anyway.
You can find logs in install location, in log folder.
As explained in this post, Winget cannot detect the current version of some installed apps. We decided to skip managing these apps with WAU to avoid retries each time WAU runs:
Eventually, try to reinstall or update app manually to see if new version is detected.
Same process as new installation : download, unzip and run "install.bat"
A new Auto-Update process has been released from version 1.5.0. By default, WAU AutoUpdate is enabled. To disable WAU AutoUpdate, run the "winget-install-and-update.ps1" with "-DisableWAUAutoUpdate" parameter
In some cases, you need to "unblock" the "intall.bat" file (Windows Defender SmartScreen). Right click, properties and unblock. Then, you'll be able to run it.
Feel free to give us any suggestions or optimizations in code.