How to Install Chocolatey on Windows

Reading Time: 4 minutes


What is Chocolatey?

Chocolatey or Choco as it is sometimes referred to, is a free, open-source package manager for Windows that is very similar to Apt or DNF in the Linux realm. In other words, this is a program used for installing software via the Windows command line. It downloads a program, installs it, then it will check for updates, and installs those updates automatically if needed. Those who use Linux are quite familiar with the package management systems like this.

Some ask, “Why should we choose to use a program like this, since we can simply download the .exe or .msi software and install the program ourselves?

That is an excellent question. Here are several solid answers.

  • When we install a new operating system and want to use numerous programs, we must look for each program installer, download it, install it, and then regularly check for updates. The Chocolatey package manager this all by itself, when using automatic mode.
  • Instead of searching for an executable installer, we can install the program using the Chocolatey package manager and complete everything using the command line. It is much more convenient and faster.
  • We can conveniently and more comfortably control the application versions we need. Most often, when we go to download an executable for the application, it downloads the latest version for us, and we do not always need the latest version.
  • Chocolatey provides clear, simple commands which are almost identically used in all package management systems.

Prerequisites

  • Windows 7 or later / Windows Server 2003 or later
  • PowerShell v2 or later
  • .NET Framework 4 or later

(As an aside, the installation will attempt to install .NET 4.0 if you do not have it already installed.)

Installation

Let’s move on to the installation. There are two options for installing Chocolatey. We can install Chocolatey via the command line or through PowerShell. The option to use cmd is most often used for Windows, and PowerShell for running scripts. In this case, we can run both cmd and PowerShell, but as an administrator, for this installation.

Note:
Please inspect the Chocolatey installation script before running it to ensure safety. Chocolatey already knows it’s scripts are safe, but by default, you should verify the security and contents of any script you are not familiar with, before downloading and running it from the internet. This installation downloads a remote PowerShell script and execute it on your machine. We take security very seriously.

Install Using Powershell

When installing the software via PowerShell, we must ensure the local
Get-ExecutionPolicy
is not set to restricted. Chocolatey suggests using
Bypass
to bypass the policy to get things installed or
AllSigned
for increased security.

First, we need to run.
Get-ExecutionPolicy
If it returns
Restricted

Then we need to run
Set-ExecutionPolicy AllSigned
or
Set-ExecutionPolicy Bypass -Scope Process.

Now run the following command in the Windows shell.
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

If there are no errors, Chocolatey will be installed. We can verify the installation using one of the following commands.
choco
or
choco -?

Install Using Windows Cmd Shell

First, we need ensure that we are using an administrative shell.
Next, copy the following command to our cmd.exe shell.

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command " [System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

And then press enter. 

The installation should look something like this.

Microsoft Windows [Version 10.0.18363.900]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command " [System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Getting latest version of the Chocolatey package for download.
Getting Chocolatey from https://chocolatey.org/api/v2/package/chocolatey/0.10.15.
Extracting C:\Users\user\AppData\Local\Temp\chocolatey\chocInstall\chocolatey.zip to C:\Users\user\AppData\Local\Temp\chocolatey\chocInstall...
Installing chocolatey on this machine
Creating ChocolateyInstall as an environment variable (targeting 'Machine')
Setting ChocolateyInstall to 'C:\ProgramData\chocolatey'
WARNING: It's very likely you will need to close and reopen your shell
before you can use choco.
Restricting write permissions to Administrators
We are setting up the Chocolatey package repository.
The packages themselves go to 'C:\ProgramData\chocolatey\lib'
(i.e. C:\ProgramData\chocolatey\lib\yourPackageName).
A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin'
and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'.
Creating Chocolatey folders if they do not already exist.
WARNING: You can safely ignore errors related to missing log files when
upgrading from a version of Chocolatey less than 0.9.9.
'Batch file could not be found' is also safe to ignore.
'The system cannot find the file specified' - also safe.
WARNING: Not setting tab completion: Profile file does not exist at
'C:\Users\user\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1'.
Chocolatey (choco.exe) is now ready.
You can call choco from anywhere, command line or powershell by typing choco.
Run choco /? for a list of functions.
You may need to shut down and restart powershell and/or consoles
first prior to using choco.
Ensuring chocolatey commands are on the path
Ensuring chocolatey.nupkg is in the lib folder
C:\WINDOWS\system32>

Verify Installation

To verify that Chocolatey is installed, we will use the choco command.

C:\WINDOWS\system32>choco
Chocolatey v0.10.15
Please run 'choco -?' or 'choco -?' for help menu.

C:\WINDOWS\system32>

Excellent! Chocolatey is installed!

Basic Chocolatey Commands

Now let’s review some of the basic commands for using Choco. Choco commands can be used in both the Windows cmd shell and in PowerShell.

Install Program

To install a specific program, use the following command.
choco install <pkg|packages.config> [ ] []</pkg|packages.config>

For example:
choco install chrome

For a complete listing of install options, visit the Choco install page or run the following command.
choco install -h

Update Program

To update a program, we will use the following command.
choco upgrade <pkg|all> [ ] []</pkg|all>
For example:
сhoco upgrade chrome

Update All Programs

To update all programs, we need to use the following command.
cup <pkg|all> [ ] []</pkg|all>
or
choco upgrade all

If you noticed, the cup command is an alternative to using the choco upgrade command.

Search For a Program

To find a needed program for downloading and installation, we can enter the following command.
choco search chrome

See Installed Programs

Using the following command, you can see which programs are already installed using Choco.
choco list --local-only
Chocolatey v0.10.15
chocolatey 0.10.15
chocolatey-core.extension 1.3.3
kubernetes-cli 1.18.2
Minikube 1.10.1
vscodium 1.38.0
5 packages installed.

C:\WINDOWS\system32>

Update Chocolatey

We can update the Choco program itself using this command.
choco upgrade chocolatey

It is important to do this periodically because in previous versions, errors may be detected, and they need to be fixed so that there are no vulnerabilities.

Install the Chocolatey GUI

If someone is not comfortable using the command line, we can install the graphical user interface of Chocolatey using this command.
choco install chocolateygui

Conclusion

That’s it! As you can see, using Chocolatey is very simple. Overall, we have found that Chocolatey is an excellent tool in our local systems administration toolbox. It is reliable, definitive, and consistently updated. Overall, it is an exceptional product.

How to Install PHP Extensions on CentOS 8

Reading Time: 3 minutes

This tutorial covers the installation of the PHP extension phpredis via the default CentOS 8 package manager DNF. It will also cover the installation of both PHP 7.4 and Redis on CentOS 8.

PECL, the PHP Extension Community Library, is a repository of C extensions that are loaded directly into PHP. PHP Extensions expand the functionality of PHP. PECL extensions can be installed via the use of the pecl command. There are also PHP extensions provided by package repositories. The decision of which to utilize typically depends on how PHP was installed.

Continue reading “How to Install PHP Extensions on CentOS 8”

How To Install Grafana on CentOS 8

Reading Time: 5 minutes

What is Grafana?

This article is a step-by-step guide on how to install Grafana software on CentOS 8 server. Grafana is a popular open-source visualization and analytics monitoring software. It renders graphs, charts, and alerts when connected to supported data sources. It is commonly used with time series databases like Prometheus, SQL databases like MySQL logging, and document databases like Loki, etc. You can additionally install hundreds of plugins and dashboards from the official library. 

More

How to Install Ruby on Rails on CentOS 8

Reading Time: 8 minutes

Today we’re going to install Ruby on Rails using RVM (the Ruby Version Manager) onto a CentOS 8 server. Let’s start by defining a few terms and definitions we will be using during the process.

Continue reading “How to Install Ruby on Rails on CentOS 8”

How To Install The Latest Kernel Version

Reading Time: 7 minutes

In this tutorial, we will learn how to install the latest kernel version on multiple Linux distributions. 

What Is A Kernel

terminal.cli.2.20.20

First, let’s define what a kernel is defined as. The Linux kernel is basically the brain of your hardware. Its main purpose is to facilitate communications between your hardware and software. As an example, if an application needs to make a change (say switching the screen resolution of your monitor), the software submits a request to the kernel, and the kernel uses the available video driver options to modify the resolution. 

Continue reading “How To Install The Latest Kernel Version”

How to Install and Configure phpMyAdmin on Fedora 22

Reading Time: 2 minutesphpMyAdmin is an open source tool used for the administration of MySQL. In addition to offering the capability to perform administration tasks such as creating, editing, or deleting databases, and managing users and permissions, phpMyAdmin provides a graphical user interface to do all of these tasks and more.

Pre-Flight Check

  • These instructions are intended specifically for installing phpMyAdmin on Fedora 22.
  • I’ll be working from a Liquid Web Self Managed Fedora 22 server, and I’ll be logged in as root.
  • A LAMP stack, meaning Linux, Apache, MySQL and PHP, must be installed on your server.

Continue reading “How to Install and Configure phpMyAdmin on Fedora 22”

How to Check the glibc (GNU libc) Version on Fedora 22

Reading Time: < 1 minute

Pre-Flight Check

  • These instructions are intended specifically for checking the installed version of glibc.
  • I’ll be working from a Liquid Web Self Managed Fedora 22 server, and I’ll be logged in as root.

Continue reading “How to Check the glibc (GNU libc) Version on Fedora 22”

DNF (Dandified Yum) Commands Explained!

Reading Time: < 1 minute

DNF (Dandified Yum) 101: Basic Package Manager Interaction
I. What is DNF (Dandified Yum)?
II. DNF Examples: Install, Remove, Upgrade, and Downgrade

Continue reading “DNF (Dandified Yum) Commands Explained!”

What is DNF (Dandified Yum)?

Reading Time: < 1 minute

DNF (Dandified Yum) 101: Basic Package Manager Interaction
I. What is DNF (Dandified Yum)?
II. DNF Examples: Install, Remove, Upgrade, and Downgrade

What is DNF (Dandified Yum)?

Yum, or the Yellowdog Updater Modified, is a package manager for RPM-based distributions; DNF, sometimes referred to as Dandified Yum, is the next generation of that package manager.

Do yum commands still work with DNF?

Yes, for the most part DNF usage is very similar to yum’s. Additional information on DNF detailing the similarities, and differences, will be available in the Liquid Web Knowledge Base very soon.

When did DNF become the default package manager for Fedora?

DNF has been the default package manager for since the 22nd version of Fedora, Fedora 22. Dandified Yum was introduced in Fedora 18.

Why was yum replaced with DNF?

Yum has long been considered a poor performer. It was notorious for high memory usage, and the slowness when resolving dependencies. DNF now uses libsolv, an external dependency resolver, and hawkey for resolving dependencies, while yum used its own, internal, dependency resolver.

How to Install and Configure VSFTPD on Fedora 22

Reading Time: 2 minutesFTP (File Transfer Protocol) is probably the most popular method of uploading files to a server; a wide array of FTP servers, such as vsftpd, and clients exist for every platform.

Pre-Flight Check

  • These instructions are intended specifically for installing the vsfptd on Fedora 22.
  • I’ll be working from a Liquid Web Self Managed Fedora 22 server, and I’ll be logged in as root.

Continue reading “How to Install and Configure VSFTPD on Fedora 22”