A Windows batch-based launcher that allows you to install and uninstall applications via winget from a categorized menu. The script is designed to be simple to distribute: just double-click the .bat file, and it handles the rest.
This type of tool can be crucial during deployments to streamline and optimize software installations across multiple systems.
-
📂 Categorized apps menu (Browsers, Games, Tools, Media, Development, etc.).
-
🔢 Automatic numbering of applications — no manual tracking required.
-
✅ Selectable install/uninstall options directly from the console.
-
🎨 Clear and colored menu layout for better readability.
-
🔄 Self-updating mechanism at launch:
- Checks if a new version of the script is available on GitHub.
- Compares the local version with the remote version defined inside the script.
- If different → automatically updates the script and relaunches it.
- If identical → continues directly to the apps menu.
-
Startup & Update Check
-
The script defines its version at the top:
set "localversion=25.10.0"
-
On launch, it downloads the latest version of itself and "Version.txt" from GitHub to a temporary file.
-
It extracts the
remoteVersionvariable from the downloaded file. -
If
remoteVersion≠localVersion, the script updates itself and restarts.
-
-
App Menu
-
Applications are grouped into categories (e.g., Browsers, Games, Media).
-
Each app has:
- A name (for display).
- An ID (used by
winget). - A category.
-
Example entry:
set /a total+=1 & set "app[%total%]=[ ] Chrome" & set "id[%total%]=Google.Chrome" & set "cat[%total%]=Browser"
-
-
Interaction
-
Type the number of an app to select/deselect it.
-
Use:
I→ install selected apps.U→ uninstall selected apps.Q→ quit the launcher.C→ Check Update.
-
-
Download the latest
Downloadmanager.batfrom the repository. -
Double-click the batch file.
-
On startup:
- If a new version exists, the script updates itself and restarts.
- If not, the app menu is displayed directly.
-
Select apps and choose whether to install or uninstall them.
-
The update process is automatic — no manual action is required.
-
The script uses its internal version variable for comparison.
-
Updates are pulled directly from the GitHub raw file:
**https://raw.githubusercontent.com/<username>/<repo>/main/launcher.bat**
- Windows 10 or 11.
wingetpackage manager installed and available in PATH.- Internet connection (for both updates and app installation).
- The script requests administrator rights when necessary for installing/uninstalling apps.
- Apps from the Microsoft Store can also be managed through
wingetusing their Store IDs. - If the update check fails (e.g., no internet), the script will continue with the local version.
-
User runs
Downloadmanager.bat. -
Script checks GitHub for updates:
- If found → updates itself → relaunches.
- If not → continues.
-
Menu appears:
--- Browsers --- [ ] 1. Chrome [ ] 2. Firefox ... -
User selects apps with associate numbers → presses
I. -
wingetinstalls the chosen apps automatically. -
Confirmation message is shown after completion.
This project is free to use and modify for personal purposes. Contributions and improvements are welcome.
To add new apps to the menu:
. Add the app line with name, winget ID, and category:
set /a total+=1 & set "app[%total%]=[ ] AppName" & set "id[%total%]=Publisher.AppID" & set "cat[%total%]=Category"- The menu numbering and categories update automatically.
This ensures the launcher menu always reflects the latest app list without manual renumbering.