Ninichoco

WinGet: Windows Package Manager for IT Admins

WinGet is Microsoft's official package manager for Windows, built into Windows 10 version 1809 and later via the App Installer. It lets you install, update, and remove software from the command line — silently, consistently, and without clicking through installers. Ninichoco uses WinGet to generate ready-to-run PowerShell scripts that install your selected apps in one go.

What is WinGet?

WinGet (Windows Package Manager) ships with Windows 10 1809+ and Windows 11 as part of App Installer. It sources packages from the WinGet Community Repository — a curated, open-source catalog of verified software maintained by Microsoft and the community. Check if WinGet is installed:

winget --version

How winget install works

winget install <PackageID>

Key flags for silent deployment:

  • --silent — suppress all UI during installation
  • --accept-package-agreements — auto-accept software license agreements
  • --accept-source-agreements — auto-accept WinGet source terms
  • --scope machine — install for all users (requires Administrator)

Example:

winget install --silent --accept-package-agreements --accept-source-agreements Google.Chrome

Bulk installs with winget import

WinGet supports exporting your installed apps and reimporting them on another machine:

# Export currently installed apps
winget export -o packages.json

# Import and install on another machine
winget import -i packages.json --accept-package-agreements

Ninichoco generates a more flexible alternative: a PowerShell script with per-app error handling, a dry-run mode, and a summary table at the end.

Enterprise considerations

  • User vs. machine scope: By default, WinGet installs for the current user. For machine-wide installs, use --scope machine. Some packages do not support machine scope.
  • SYSTEM context: When running via SCCM, Intune, or a similar tool, WinGet runs as SYSTEM, not as a user. Not all packages work in SYSTEM context — test before deploying at scale.
  • Network: WinGet downloads from CDN URLs. Ensure outbound HTTPS is allowed for winget.azureedge.net and package-specific download hosts.
  • Proxy: WinGet respects system proxy settings but may need explicit configuration in restricted environments.

How Ninichoco uses WinGet

Every WinGet package ID in the Ninichoco catalog is manually curated and verified against the official WinGet Community Repository. The generated PowerShell script calls:

winget install --id <PackageID> --silent --accept-package-agreements --accept-source-agreements

...for each selected app, with error handling, progress logging, and a summary table at the end. You can inspect the full script before running it on any machine.