Installation

  1. Requirements
  2. Option 1 — Build from source
  3. Option 2 — Publish a single-file wum.exe
  4. Option 3 — MSI / WinGet
  5. Verify the install
  6. Where WUM writes on disk

← Docs index

Requirements

Requirement Detail
OS Windows 10 or Windows 11 (x64)
SDK .NET 10 SDK — only needed to build from source
Runtime None when published self-contained; the wum.exe bundles the runtime
PowerShell powershell.exe (Windows PowerShell 5.1, ships with Windows) — WUM shells out to it for all WUA COM calls
Privileges Administrator for update operations only. Read-only commands run as a standard user

The app targets net10.0-windows with RuntimeIdentifier=win-x64. PowerShell is invoked as:

powershell.exe -NoProfile -NonInteractive -ExecutionPolicy Bypass -Command "<script>"

so WUM works regardless of the machine’s default execution policy.


Option 1 — Build from source

git clone https://github.com/isubroto/wum.git
cd wum
dotnet build

Run directly from the repo (read-only commands need no admin):

dotnet run --project src/WUM.CLI -- status
dotnet run --project src/WUM.CLI -- list --security

Everything after -- is passed to wum as arguments.


Option 2 — Publish a single-file wum.exe

dotnet publish src/WUM.CLI -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o ./publish

Produces a standalone ./publish/wum.exe that needs no .NET runtime on the target machine. The Release build applies app.manifest (asInvoker) so launching never triggers a UAC prompt; modifying commands request elevation themselves.

The PublishSingleFile and SelfContained properties are already set in WUM.CLI.csproj, so the -p:/--self-contained flags above are belt-and-suspenders.

Add the publish folder to your PATH, or copy wum.exe somewhere already on PATH, to call wum from any terminal.


Option 3 — MSI / WinGet

winget install SubrotoSaha.WUM

The MSI installs wum.exe to:

C:\Program Files\Subroto Saha\WUM

and adds that folder to the system PATH, so wum is available everywhere. Tagged builds publish both the portable wum.exe and the MSI automatically (see .github/workflows/release.yml and wingetRelease.yml).


Verify the install

wum --version      # e.g. 0.7.0.79
wum --info         # Version, commit, build date, author, license, runtime, OS
wum --help         # Top-level help and the command list

--info prints application metadata (version/commit/build date/author/license/repo), runtime details (framework, CLR, process arch), and system info (OS, machine, user, CPU cores). It is handled in Program.Main before the command pipeline runs, so it is fast and needs no admin.


Where WUM writes on disk

Path Purpose
%ProgramData%\WUM\logs\wum-YYYY-MM-DD.log Elevated-session Serilog daily rolling logs (7 days retained)
%LocalAppData%\WUM\logs\wum-YYYY-MM-DD.log Standard-user daily rolling logs (7 days retained)

%ProgramData% is normally C:\ProgramData. Standard-user sessions log under %LocalAppData%; elevated sessions log machine-wide under %ProgramData%. WUM does not persist available-update scan results; it queries WUA for current operating-system state.

Next: Command Reference →


Back to top

Released under the MIT License. © WUM contributors.