Simple Updater is a Python application designed to automate the process of checking for and installing software updates based on a user-defined configuration. It currently supports updating applications via winget.
- Automated Updates: Checks for and installs updates for configured applications.
- Configurable: Easily define which applications to manage using a
config.jsonfile. - Winget Integration: Leverages
wingetfor seamless updates of applications available through the Windows Package Manager.
- Python 3.x
- Windows Package Manager (
winget) (forwingettype applications)
- Clone the repository:
git clone https://github.com/your-username/simple_updater.git cd simple_updater
The simple_updater relies on a config.json file to know which applications to manage.
-
Create
config.json: Copy the providedconfig.template.jsonand rename it toconfig.jsonin the root directory of the project.cp config.template.json config.json
-
Rename
config.template.jsontoconfig.jsonand define your applications.config.jsonStructure:The
config.jsonfile should contain a JSON array namedapps. Each object within this array represents an application to be managed and should have the following properties:name(string): A user-friendly name for the application (e.g., "PowerToys").type(string): The update mechanism to use. Currently, only"winget"is supported.id(string): The unique identifier for the application within the specifiedtype's ecosystem. Forwinget, this is the package ID (e.g., "Microsoft.PowerToys").
Example
config.json:{ "apps": [ { "name": "PowerToys", "type": "winget", "id": "Microsoft.PowerToys" }, { "name": "Visual Studio Code", "type": "winget", "id": "Microsoft.VisualStudioCode" } ] }
Execute the main.py script to check for and apply updates:
python main.pyThe script will print out the status of updates and which applications are being updated.