Windows package managers (CLI)

Windows offers several package managers that can simplify the process of installing and managing software. Here are some of the most popular ones:

1. winget (Windows Package Manager)

  • Description: winget is a native Windows package manager developed by Microsoft. It allows you to search, install, update, and manage software from the command line.
  • How to use:
    • Install: winget comes pre-installed on Windows 10 (starting with version 1809) and Windows 11.
    • Install a package:
      winget install <package-name>
      
    • Example:
      winget install firefox
      
    • List available packages:
      winget search <package-name>
      

2. Chocolatey

  • Description: Chocolatey is one of the most popular package managers for Windows. It works similarly to apt (on Linux) or brew (on macOS) and allows you to install software, update it, and manage dependencies easily.
  • How to use:
    • Install:
      • Open PowerShell as Administrator and run:
        Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
        
    • Install a package:
      choco install <package-name>
      
    • Example:
      choco install googlechrome
      
    • Update a package:
      choco upgrade <package-name>
      

3. Scoop

  • Description: Scoop is a simple and powerful command-line installer for Windows. It focuses on simplicity and is popular among developers for installing development tools.
  • How to use:
    • Install: Open PowerShell and run:
      Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
      iwr -useb get.scoop.sh | iex
      
    • Install a package:
      scoop install <package-name>
      
    • Example:
      scoop install git
      
    • List available buckets:
      scoop bucket add <bucket-name>
      

4. Ninite

  • Description: Ninite is a simple and easy-to-use tool that allows you to batch install popular software. It’s not exactly a package manager, but it automates the process of downloading and installing apps.
  • How to use:
    • Download the Ninite installer from the Ninite website.
    • Select the apps you want to install from the list on the Ninite website and download the custom installer.
    • Run the installer to automatically install all selected software.

5. AppGet

  • Description: AppGet is another package manager for Windows that provides a streamlined way to install software. It aims to be a more modern and stable package manager but is less widely used than the others.
  • How to use:
    • Install: First, you need to install AppGet from its GitHub page or from the AppGet website.
    • Install a package:
      appget install <package-name>
      
    • Example:
      appget install vscode
      

6. PortableApps

  • Description: PortableApps isn’t a package manager in the traditional sense, but it provides a platform for running portable versions of popular software. It’s ideal if you prefer not to install software directly onto your system.
  • How to use:
    • Download and install the PortableApps platform.
    • Install apps from the platform’s app store or manually by downloading portable versions.

7. MSI Package (via PowerShell)

  • Description: You can install MSI (Microsoft Installer) packages using PowerShell. This is more manual compared to the other package managers but gives you control over specific installations.
  • How to use:
    • Install an MSI package:
      msiexec /i "C:\path\to\installer.msi"
      

8. FDM (Free Download Manager)

  • Description: Free Download Manager isn’t exactly a package manager, but it supports downloading installers and automating installation tasks.
  • How to use:
    • Use it to download software or package files, and it will assist in managing the downloads.

Comparison Overview:

Package ManagerEase of UsePackage AvailabilityBest ForOfficial Site
wingetEasyGoodGeneral use, Windows appshttps://github.com/microsoft/winget-cli
ChocolateyEasyExcellentGeneral use, productivity softwarehttps://chocolatey.org
ScoopEasyGoodDeveloper toolshttps://scoop.sh
NiniteVery EasyLimitedQuick batch installationhttps://ninite.com
AppGetEasyModerateSoftware managementhttps://appget.net
PortableAppsVery EasyLimitedPortable appshttps://portableapps.com
MSI via PowerShellManualDepends on the MSI fileSpecific app installsN/A

Each of these package managers has its strengths and use cases. winget, Chocolatey, and Scoop are widely used for general-purpose package management, while Ninite is useful for batch installation, and PortableApps is great for portable software.