# asheroto/winget-install architecture

> Architecture diagram of the GitHub repository asheroto/winget-install, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/asheroto/winget-install
- Repository: https://github.com/asheroto/winget-install
- Video tour (about a minute): https://gitdiagram.com/asheroto/winget-install/video

## Overview

winget-install is an administrator-run PowerShell installer for WinGet. The documented workflow checks Windows and processor compatibility, then installs through either the standard PowerShell Gallery repair path or a Server 2019-specific package path, followed by command registration. The README documents these capabilities, but no script source was sampled, so the graph represents documented responsibilities and omits uncertain internal call wiring.

Main entry points: [`winget-install.ps1`](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1) (Installer script)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Entry and checks"]
  node_installer["Installer script<br/>[winget-install.ps1]"]
  node_compat["OS compatibility<br/>[winget-install.ps1]"]
  node_architecture["Architecture detection<br/>[winget-install.ps1]"]
  node_existing["Existing install check<br/>[winget-install.ps1]"]
end

subgraph group_standard["Standard install"]
  node_standard_path["Standard install path<br/>[winget-install.ps1]"]
  node_nuget["NuGet provider<br/>[winget-install.ps1]"]
  node_gallery_client["WinGet Client module<br/>[winget-install.ps1]"]
  node_repair["Package manager repair<br/>[winget-install.ps1]"]
end

subgraph group_server["Server 2019 install"]
  node_server_path["Server 2019 path<br/>[winget-install.ps1]"]
  node_server_prereqs["UI.Xaml and VCLibs<br/>[winget-install.ps1]"]
  node_vc_runtime["VC++ runtime check<br/>[winget-install.ps1]"]
  node_license["WinGet license download<br/>[winget-install.ps1]"]
  node_cli_install["WinGet CLI install<br/>[winget-install.ps1]"]
  node_permissions["Access and PATH setup<br/>[winget-install.ps1]"]
end

subgraph group_finish["Completion"]
  node_registration["Command registration<br/>[winget-install.ps1]"]
end

node_operator(("Administrator or SYSTEM"))
node_gallery["PowerShell Gallery"]
node_github["GitHub releases"]
node_windows["Windows environment"]

node_operator -->|"runs"| node_installer
node_installer -->|"checks"| node_compat
node_installer -->|"detects"| node_architecture
node_installer -->|"checks"| node_existing
node_installer -->|"selects"| node_standard_path
node_installer -->|"selects"| node_server_path
node_standard_path -->|"installs if needed"| node_nuget
node_standard_path -->|"installs"| node_gallery_client
node_standard_path -->|"runs"| node_repair
node_nuget -->|"uses"| node_gallery
node_gallery_client -->|"downloads from"| node_gallery
node_server_path -->|"installs"| node_server_prereqs
node_server_path -->|"checks"| node_vc_runtime
node_server_path -->|"downloads"| node_license
node_server_path -->|"installs"| node_cli_install
node_license -->|"fetches from"| node_github
node_cli_install -->|"fetches from"| node_github
node_server_path -->|"adjusts"| node_permissions
node_installer -->|"runs if needed"| node_registration
node_compat -->|"checks"| node_windows
node_architecture -->|"reads"| node_windows
node_existing -->|"checks"| node_windows
node_repair -->|"installs on"| node_windows
node_server_prereqs -->|"installs on"| node_windows
node_vc_runtime -->|"checks on"| node_windows
node_permissions -->|"updates"| node_windows
node_registration -->|"registers on"| node_windows

click node_installer "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_compat "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_architecture "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_existing "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_standard_path "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_nuget "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_gallery_client "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_repair "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_server_path "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_server_prereqs "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_vc_runtime "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_license "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_cli_install "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_permissions "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"
click node_registration "https://github.com/asheroto/winget-install/blob/master/winget-install.ps1"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_installer,node_compat,node_architecture,node_existing toneBlue
class node_standard_path,node_nuget,node_gallery_client,node_repair toneAmber
class node_server_path,node_server_prereqs,node_vc_runtime,node_license,node_cli_install,node_permissions toneMint
class node_registration toneRose
class node_operator,node_gallery,node_github,node_windows toneIndigo
```

## Components

### Entry and checks

- [Installer script](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`
- [OS compatibility](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`
- [Architecture detection](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`
- [Existing install check](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`

### Standard install

- [Standard install path](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`
- [NuGet provider](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`
- [WinGet Client module](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`
- [Package manager repair](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`

### Server 2019 install

- [Server 2019 path](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`
- [UI.Xaml and VCLibs](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`
- [VC++ runtime check](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`
- [WinGet license download](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`
- [WinGet CLI install](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`
- [Access and PATH setup](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`

### Completion

- [Command registration](https://github.com/asheroto/winget-install/blob/master/winget-install.ps1): `winget-install.ps1`

### Other components

- **Administrator or SYSTEM**
- **PowerShell Gallery**
- **GitHub releases**
- **Windows environment**

## Connections

- Administrator or SYSTEM → Installer script: runs
- Installer script → OS compatibility: checks
- Installer script → Architecture detection: detects
- Installer script → Existing install check: checks
- Installer script → Standard install path: selects
- Installer script → Server 2019 path: selects
- Standard install path → NuGet provider: installs if needed
- Standard install path → WinGet Client module: installs
- Standard install path → Package manager repair: runs
- NuGet provider → PowerShell Gallery: uses
- WinGet Client module → PowerShell Gallery: downloads from
- Server 2019 path → UI.Xaml and VCLibs: installs
- Server 2019 path → VC++ runtime check: checks
- Server 2019 path → WinGet license download: downloads
- Server 2019 path → WinGet CLI install: installs
- WinGet license download → GitHub releases: fetches from
- WinGet CLI install → GitHub releases: fetches from
- Server 2019 path → Access and PATH setup: adjusts
- Installer script → Command registration: runs if needed
- OS compatibility → Windows environment: checks
- Architecture detection → Windows environment: reads
- Existing install check → Windows environment: checks
- Package manager repair → Windows environment: installs on
- UI.Xaml and VCLibs → Windows environment: installs on
- VC++ runtime check → Windows environment: checks on
- Access and PATH setup → Windows environment: updates
- Command registration → Windows environment: registers on
