---
title: "The Windows Package Manager - Muhammad Rehan Saeed"
description: "The Windows Package Manager or winget has recently got quite good with the version 1.1 release. Here is my new machine setup script"
canonical_url: "https://rehansaeed.com/windows-package-manager/"
last_updated: "2021-10-12T08:40:00+00:00"
meta:
  author: "Muhammad Rehan Saeed"
  keywords: "Windows Package Manager (winget),Windows"
  "og:description": "The Windows Package Manager or winget has recently got quite good with the version 1.1 release. Here is my new machine setup script"
  "og:image": "https://rehansaeed.com/_og/s/o_dad474ccce3d1df8.png"
  "og:image:alt": "The Windows Package Manager - Muhammad Rehan Saeed"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "The Windows Package Manager"
  "twitter:image": "https://rehansaeed.com/_og/s/o_dad474ccce3d1df8.png"
  "twitter:image:alt": "The Windows Package Manager - Muhammad Rehan Saeed"
---

> Index of every page on this site: [llms.txt](https://rehansaeed.com/llms.txt)

# [The Windows Package Manager](https://rehansaeed.com/windows-package-manager/)

Posted 12 October 2021 - **3 min read**

![Winget](https://rehansaeed.com/_ipx/f_webp&s_2560x1440/images/hero/Winget-1600x900.png)

Winget is a package manager for Windows a bit like apt for linux or the open source Chocolatey for Windows. Version 1.1 of the Windows Package Manager (winget) was [recently released](https://devblogs.microsoft.com/commandline/windows-package-manager-1-1/). I've had my eye on it for a while now and its only recently gotten good enough to use for real.

It now has the ability to install Windows Store applications and its library of apps that you can search for and install has gotten quite big. My PowerShell script to get a new machine started quickly with all the essential applications that I use as a .NET/Web developer is shown below.

```powershell
# Environment Variables
[System.Environment]::SetEnvironmentVariable('DOTNET_CLI_TELEMETRY_OPTOUT', '1', [EnvironmentVariableTarget]::Machine)

# Windows Features
# List features: Get-WindowsOptionalFeature -Online
Enable-WindowsOptionalFeature -Online -FeatureName 'Containers' -All
Enable-WindowsOptionalFeature -Online -FeatureName 'Microsoft-Hyper-V' -All
Enable-WindowsOptionalFeature -Online -FeatureName 'VirtualMachinePlatform' -All

# Office
winget install --id '9MSPC6MP8FM4' # Microsoft Whiteboard
start "https://github.com/zufuliu/notepad2/releases"

# Utilities
winget install --id '7zip.7zip' --interactive --scope machine
winget install --id 'XP89DCGQ3K6VLD' # Microsoft Power Toys
winget install --id '9NJ3KMH29VGJ' # Enpass
winget install --id 'WinSCP.WinSCP' --interactive --scope machine
winget install --id '9WZDNCRFJ3PV' # Windows Scan

# Pheripherals
winget install --id 'Elgato.ControlCenter' --interactive --scope machine
winget install --id 'Elgato.StreamDeck' --interactive --scope machine

# Browsers
winget install --id 'Google.Chrome' --interactive --scope machine
winget install --id 'Mozilla.Firefox' --interactive --scope machine

# Communication
winget install --id 'Microsoft.Teams' --interactive --scope machine
winget install --id 'OpenWhisperSystems.Signal' --interactive --scope machine
winget install --id '9WZDNCRDK3WP' # Slack
winget install --id '9WZDNCRFJ140' # Twitter
winget install --id 'XP99J3KP4XZ4VV' # Zoom

# Images
winget install --id '9N3SQK8PDS8G' # Screen To Gif
start https://www.getpaint.net/download.html # Paint.NET not yet available on winget

# Media
winget install --id 'XPDM1ZW6815MQM' # VLC
winget install --id 'plex.plexmediaplayer' --interactive --scope machine
winget install --id 'OBSProject.OBSStudio' --interactive --scope machine
winget install --id 'dev47apps.DroidCam' --interactive --scope machine
winget install --id 'XSplit.VCam' --interactive --scope machine

# Terminal
winget install --id 'Microsoft.WindowsTerminal' --interactive --scope machine
winget install --id 'Microsoft.Powershell' --interactive --scope machine
winget install --id 'JanDeDobbeleer.OhMyPosh' --interactive --scope machine
winget install --id '9P9TQF7MRM4R' # Windows Subsystem for Linux Preview
winget install --id '9NBLGGH4MSV6' # Ubuntu
winget install --id '9P804CRF0395' # Alpine

# Git
winget install --id 'Git.Git' --interactive --scope machine
winget install --id 'GitHub.GitLFS' --interactive --scope machine
winget install --id 'GitHub.cli' --interactive --scope machine
winget install --id 'Axosoft.GitKraken' --interactive --scope machine

# Azure
winget install --id 'Microsoft.AzureCLI' --interactive --scope machine
winget install --id 'Microsoft.AzureCosmosEmulator' --interactive --scope machine
winget install --id 'Microsoft.AzureDataStudio' --interactive --scope machine
winget install --id 'Microsoft.AzureStorageEmulator' --interactive --scope machine
winget install --id 'Microsoft.AzureStorageExplorer' --interactive --scope machine

# Tools
winget install --id 'Docker.DockerDesktop' --interactive --scope machine
winget install --id 'Microsoft.PowerBI' --interactive --scope machine
winget install --id 'Telerik.Fiddler' --interactive --scope machine

# IDE's
winget install --id 'Microsoft.VisualStudio.2022.Enterprise' --interactive --scope machine
winget install --id 'Microsoft.VisualStudioCode' --interactive --scope machine

# Frameworks
winget install --id 'OpenJS.NodeJS' --interactive --scope machine
winget install --id 'Microsoft.dotnet' --interactive --scope machine
```

A few of things to note in my script. All apps with random looking ID's like `9P9TQF7MRM4R` are Windows Store applications. Secondly, for non-Windows Store applications I always use the `--interactive` flag because:

> Don’t accept the defaults!

I never want a shortcut added to my desktop, extra toolbars or system tray icons, so never accept the defaults and always manually select the options you want in the installer. Maybe one day we can set the options we want from `winget` itself (we can dream!).

Finally, I set the scope of the installation to `machine` as opposed to `user`. I'm not sure which installers respect this setting but I always want all applications available to whoever is using the machine.

## Web Mentions

[What's this?](https://en.wikipedia.org/wiki/Webmention)

### 0 Linked

### 0 Replies

## Comment

[Leave and View Directly on GitHub.com](https://github.com/RehanSaeed/rehansaeed.github.io/issues/496)

3 Comments

[![WorldMaker](https://avatars.githubusercontent.com/u/129777?v=4)](https://github.com/WorldMaker)

[WorldMaker](https://github.com/WorldMaker) [13 October 2021](https://github.com/RehanSaeed/rehansaeed.github.io/issues/496#issuecomment-942653559)

In response to your script's comment about Paint.NET, it is in the Microsoft Store: https://www.microsoft.com/en-us/p/paintnet/9nbhcs1lx4r0

It's just not free because the developers wanted it to be a non-optional donation space. Given how often I've used Paint.NET on some projects, I think it's well worth paying the donation to have the Store install.

[![RehanSaeed](https://avatars.githubusercontent.com/u/2270364?v=4)](https://github.com/RehanSaeed)

[RehanSaeed](https://github.com/RehanSaeed) [14 October 2021](https://github.com/RehanSaeed/rehansaeed.github.io/issues/496#issuecomment-943436715)

[@WorldMaker](https://github.com/WorldMaker) Weirdly, I don't see Paint.NET on `winget`. This might be because its a paid product. There is an open issue in the `winget` repo to add the free version of Paint.NET but that comes shipped as a zip file which is not currently supported by winget.

[![WorldMaker](https://avatars.githubusercontent.com/u/129777?v=4)](https://github.com/WorldMaker)

[WorldMaker](https://github.com/WorldMaker) [14 October 2021](https://github.com/RehanSaeed/rehansaeed.github.io/issues/496#issuecomment-943619028)

[@RehanSaeed](https://github.com/RehanSaeed) Yeah, `winget search` doesn't seem to turn up any paid applications, but `winget list` does and `winget install --id 9nbhcs1lx4r0` almost works. It gives you the description of Paint.NET and asks you to agree to terms then I got a `Verifying/Requesting package acquisition failed: server error` after agreeing to the terms. It's possible the error is just that I already have it installed already, but it sounds like there's just no support at all for paid apps yet per [microsoft/winget-cli#908](https://github.com/microsoft/winget-cli/issues/908)

Hopefully something they solve, because there are several other paid apps in the Microsoft Store I'd want to auto-install in a machine setup script, beyond of course Paint.NET.

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://rehansaeed.com/#website","@type":"WebSite","description":"Software Developer at Microsoft, YouTuber, Open Source Contributor and Blogger","inLanguage":"en-GB","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com/","author":{"@id":"https://rehansaeed.com/#identity"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://rehansaeed.com/?search={search_term_string}"},"query-input":"required name=search_term_string"}],"publisher":{"@id":"https://rehansaeed.com/#publisher"}},{"@id":"https://rehansaeed.com/windows-package-manager/#webpage","@type":"WebPage","dateModified":"2021-10-12T08:40:00+00:00","datePublished":"2021-10-12T08:40:00+00:00","description":"The Windows Package Manager or winget has recently got quite good with the version 1.1 release. Here is my new machine setup script","name":"The Windows Package Manager","url":"https://rehansaeed.com/windows-package-manager/","breadcrumb":{"@id":"https://rehansaeed.com/windows-package-manager/#breadcrumb"},"isPartOf":{"@id":"https://rehansaeed.com/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://rehansaeed.com/windows-package-manager/"]}]},{"@id":"https://rehansaeed.com/#identity","@type":"Person","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com/about/","image":{"@id":"https://rehansaeed.com/#/schema/image/1"},"sameAs":["https://github.com/RehanSaeed","https://www.linkedin.com/in/muhammad-rehan-saeed","https://stackoverflow.com/users/1212017/muhammad-rehan-saeed","https://www.youtube.com/c/MuhammadRehanSaeed","https://www.twitch.tv/rehansaeeduk"]},{"@id":"https://rehansaeed.com/#publisher","@type":"Organization","logo":"https://rehansaeed.com/images/schema/Publisher-600x60.png","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com"},{"@id":"https://rehansaeed.com/windows-package-manager/#article","@type":"Article","dateModified":"2021-10-12T08:40:00+00:00","datePublished":"2021-10-12T08:40:00+00:00","description":"The Windows Package Manager or winget has recently got quite good with the version 1.1 release. Here is my new machine setup script","headline":"The Windows Package Manager","inLanguage":"en-GB","url":"https://rehansaeed.com/windows-package-manager/","author":{"@id":"https://rehansaeed.com/#identity"},"image":[{"@type":"ImageObject","url":"https://rehansaeed.com/images/hero/Winget-1600x900.png","caption":"Winget","width":"1600","height":"900"}],"isPartOf":{"@id":"https://rehansaeed.com/windows-package-manager/#webpage"},"keywords":["Windows Package Manager (winget)","Windows"],"mainEntityOfPage":{"@id":"https://rehansaeed.com/windows-package-manager/#webpage"},"publisher":{"@id":"https://rehansaeed.com/#publisher"}},{"@id":"https://rehansaeed.com/windows-package-manager/#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Blog","item":"https://rehansaeed.com/","position":1},{"@type":"ListItem","name":"The Windows Package Manager","item":"https://rehansaeed.com/windows-package-manager/","position":2}]},{"@id":"https://rehansaeed.com/#/schema/image/1","@type":"ImageObject","contentUrl":"https://rehansaeed.com/images/author/Muhammad-Rehan-Saeed/Logo-512x512.png","inLanguage":"en-GB","url":"https://rehansaeed.com/images/author/Muhammad-Rehan-Saeed/Logo-512x512.png"}]}
```

## Sitemap

See the full [sitemap](https://rehansaeed.com/sitemap.md) for all pages.
