Technical overviewWindows tooling and release automation

Winget App Installer

A transparent machine-setup tool built on official package sources.

Source code

Inspect the implementation, commit history, and project documentation.

Role
Solo developer: PowerShell, WinForms, package orchestration, release packaging, docs
Evidence status
v1.0.1 release workflow verified and executable published on GitHub
Verified
2026-07-23

01

Purpose and scope

A searchable Windows desktop utility that installs common apps silently through winget, with editable Windows and Linux scripts and a GitHub Actions workflow that builds the executable from version tags.

What it is used for

  • Bootstrap a new Windows machine with a chosen set of apps.
  • Review or customize the package catalogue before installing.
  • Reuse editable scripts for Windows or Linux package managers.
  • PowerShell
  • WinForms
  • Winget
  • Shell
  • GitHub Actions
  • ps2exe

02

Architecture

Desktop interaction

User interface

WinForms interface

Search, categories, progress, live log

Configuration

Application catalogue

Display names mapped to winget IDs

Selected package IDs

Local orchestration

Application logic

PowerShell coordinator

Validates winget and runs installs

Feedback

Progress and logging

Maps output and exit codes to feedback

winget install

Package infrastructure

System package manager

Winget client

Silent, non-interactive installs

External source

Configured sources

Official package manifests

Output

Installed applications

Machine state after installs

Distributed through

Release engineering

Trigger

Version tag

Starts the release workflow

CI pipeline

GitHub Actions + ps2exe

Compiles on a clean Windows runner

Distribution

GitHub Release

Publishes AppInstaller.exe

Text equivalent: A WinForms interface maps selected apps to exact package IDs; a PowerShell coordinator runs winget, streams output to the log, and updates progress from each exit code, while tagged commits trigger GitHub Actions to compile and publish the executable.

03

Engineering decisions

Use the operating system package manager

Winget resolves packages from official sources, so there is no download scraping or bundled installer.

Keep the catalogue readable

Apps are plain PowerShell objects, each a display name mapped to an exact package ID.

Build binaries from tags

The executable is built on a clean runner and attached to the release rather than committed.

04

Verification evidence

  • GitHub Actions completed the v1.0.1 tagged build successfully on July 22, 2026.
  • The release contains AppInstaller.exe with the application icon and version metadata.
  • Source inspection confirmed catalogue filtering, progress reporting, live logs, and success or failure counts.
verified-2026-07-23
$ git push origin v1.0.1
GitHub Actions: Build and Release -> success
ps2exe -> AppInstaller.exe
release asset: v1.0.1/AppInstaller.exe
✓ tagged release verified

05

Demonstrated workflow

06

Limitations