Skip to content

TechDirectArchive

Hands-on IT, Cloud, Security & DevOps Insights

  • Home
  • About
  • Advertise With US
  • Reviews
  • Contact
  • Toggle search form
Home » Windows » Create Chocolatey Package: Upgrade Software with Chocolatey

Create Chocolatey Package: Upgrade Software with Chocolatey

Posted on 25/10/202216/12/2023 Imoh Etuk By Imoh Etuk No Comments on Create Chocolatey Package: Upgrade Software with Chocolatey
Chocolatey-Packages

Learn how to create Chocolatey Package: Upgrade Software with Chocolatey in this blog post. IT professionals must look at better ways to carry out mundane tasks as automation becomes more of a need than a nicety; one such duty is software installation. It would be better for you to come up with an alternative method than to download an MSI, double-click on it, and go through the process. Please see Windows Package Manager: How to install Winget CLI, and How to upgrade PowerShell to the latest version on macOS via Homebrew.

Chocolatey is a Windows-based machine package manager that is similar to Apt and RPM. With Chocolatey, all you have to do to install a Windows application is run a single line of code; Chocolatey will then download and install the application for you.

Although there is an official manual for creating and publishing a package, this instruction is more straightforward. As a command-line package manager and installer for Windows software, Chocolatey operates at the machine level.

To make downloading and installing software easier, it takes advantage of Windows PowerShell and the NuGet packaging architecture. Microsoft released PowerShell 5 and OneGet (later renamed to PackageManagement) in April 2014.

What is Chocolatey?

Chocolatey is a free open-source package manager for Windows. On your servers or desktops, it can help you install, manage, and upgrade software. Sometimes finding the MSI or EXE file required to install the software and then going through the installation procedures all by yourself might make life harder for you as a System Administrator.

This is the burden Chocolatey helps to relieve from you as it can help make life easier by finding the MSI or EXE file needed to install software and then walking through those installation wizards.

Chocolatey is an open-source tool, that’s open to anyone to contribute to and help evolve. It is also free at the point of use, but there are paid versions for those who may need some premium features or are using the product in their business environment.

Creating Chocolatey Packages

First thing first, to create a package Chocolatey must be installed since it is not installed by default on Windows. So I am going to jump straight to taking through the process of installing Chocolatey, adding it to a path, and creating your first package.

You can learn more about Chocolatey in the following related posts: Windows Package Manager: How to install applications using Chocolatey?, Windows Package Manager: How to install, upgrade or uninstall Chocolatey,

Chocolatey Installation

You can install Chocolatey by either running a PowerShell script or using Chef, Ansible, or Puppet. For most users installing using a PowerShell script will be the quickest way of starting with Chocolatey.

Here, I am going to run the installation with PowerShell Script. To download and install Chocolatey, run the below command in a PowerShell console:

PS> iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Choco-Installation
Chololatey Installation

Chocolatey has been installed and automatically added to the system path.

If we call choco anywhere within the Window, it will display the version and helpful tips. Let’s call it up using Windows Command Prompt Console:

Confirm-choco-installation
Chocolatey Installed

Now life is easier as you can simply execute the command choco followed by the name of the application of software you will like to install right from the command-line interface and Chocolatey will do the installation for you.

We will come to this later in the post but for now, let’s see how to create a Chocolatey package.

Create a Package

Step 1 – Create a directory with a name unique to your purpose.

To do this, follow the steps below. Here, I am creating a directory named mytestapp-package and open it with your code editor, Visual Studio Code precisely and type the below codes:

Note: To create a Chocolatey package, you must first create an NUSPEC file. An NUSPEC file is an XML package manifest that describes the package contents. This NUSPEC file must be in a particular format.

 <?xml version="1.0"?>
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <metadata>
    <id>TestApp</id>
    <title>TestApp</title>
    <version>0.1.0.20120702</version>
    <authors>Imoh</authors>
    <owners>Imoh</owners>
    <summary>This is an example App</summary>
    <description>Your descriptions here</description>
    <projectUrl>http://www.testapp.com</projectUrl>
    <tags>some tags here</tags>
    <licenseUrl>http://www.testapp.com/license.txt</licenseUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance> <!-- or true if you require the user to accept the License before installing -->
    <iconUrl>http://www.testapp.com/logo.png</iconUrl>
  </metadata>
</package>

Replace the content above with the information of your app and save the file as shown in the screenshot below:

TestApp-code
Chocolatey Packages

Create Chocolatey Package

Now let’s create the package. To do this, navigate to the directory where you have the package file saved. My directory is mytestapp-package and then run the below command where testapp.nuspec is the name of my package file:

$ choco pack testapp.nuspec
Chocolatey-Pacjage-created
Chocolatey Package created

Now run cpack or chocolatey pack on the command line within the same directory to get the details of the package your have just created.

Package-Details
Package details

The above screenshot shows the package.  TestApp.0.1.0.20120702.nupkg in the current working directory. So, this is the package and that’s all you.

Test the package by running:

cinst TestApp -source %cd%
Testing-the-APP
Package tested

Installing and Upgrading Software Using Chocolatey

Let’s install a Notepad++ text editor using Chocolatey Package. To do so, run and press the Enter key:

$ choco install notepadplusplus
Install-Notepad-Plus-plus-with-choco
Notepad ++ Installation using Chocolatey

Notepad++ is completely installed. We can confirm this by searching for Notepad++ using the Windows Search bar.

NotePad-Editor-Installed
Search for Notepad++

Launch the Program and start using it

Launch-Notepad
Notepad++ Workspace

Upgrading Software using Chocolatey Package

We can easily upgrade all software at once or upgrade them individually. Here, I am upgrading the Azure CLI package installed on my system.

To do so, run:

choco upgrade Azure-cli
Upgrading-Azure-CLI-USing-Choco
Upgrade Azure CLI

Chocolatey Package can be so helpful in taking much of the burden of managing software and application packages on Windows through a single line of the automation process.

I hope you found this guide useful on how to create Chocolatey Package: Upgrade Software with Chocolatey. Please feel free to leave a comment below.

Rate this post

Thank you for reading this post. Kindly share it with others.

  • Share on X (Opens in new window) X
  • Share on Reddit (Opens in new window) Reddit
  • Share on LinkedIn (Opens in new window) LinkedIn
  • Share on Facebook (Opens in new window) Facebook
  • Share on Pinterest (Opens in new window) Pinterest
  • Share on Tumblr (Opens in new window) Tumblr
  • Share on Telegram (Opens in new window) Telegram
  • Share on WhatsApp (Opens in new window) WhatsApp
  • Share on Mastodon (Opens in new window) Mastodon
  • Share on Bluesky (Opens in new window) Bluesky
  • Share on Threads (Opens in new window) Threads
  • Share on Nextdoor (Opens in new window) Nextdoor
Scripts, Windows Tags:PowerShell

Post navigation

Previous Post: How to setup a Third-Party DNS Server on a Linux Server
Next Post: How to Fix Fatal Git Error Refusing to Merge Unrelated Histories

Related Posts

  • Featured image batch rename
    Batch rename multiple files on Windows Windows
  • HP driver
    Printer Driver Information: How to determine the version and type of a Printer Driver Windows
  • Ping commands
    Ping from Source IP Address from all environments Mac
  • linkyourandriodtoyourpc
    Microsoft Phone Link: Connect Android to Windows 11 Windows
  • Disable Hardware Acceleration in Browsers and Windows
    How to Disable Hardware Acceleration in Browsers and Windows Windows
  • Local System Account
    How to Run a Program in Windows as the Local System Account Windows

More Related Articles

Featured image batch rename Batch rename multiple files on Windows Windows
HP driver Printer Driver Information: How to determine the version and type of a Printer Driver Windows
Ping commands Ping from Source IP Address from all environments Mac
linkyourandriodtoyourpc Microsoft Phone Link: Connect Android to Windows 11 Windows
Disable Hardware Acceleration in Browsers and Windows How to Disable Hardware Acceleration in Browsers and Windows Windows
Local System Account How to Run a Program in Windows as the Local System Account Windows

Leave a Reply Cancel reply

You must be logged in to post a comment.

Microsoft MVP

VEEAMLEGEND

vexpert-badge-stars-5

Virtual Background

GoogleNews

Categories

veeaam100

sysadmin top30a

  • Add Nutanix AHV to Veeam
    Full Integration Guide on how to Add Nutanix AHV to Veeam Network | Monitoring
  • WindowsCoreSecurity
    How to enable Smart App Control on Windows 11 Security | Vulnerability Scans and Assessment
  • windows update 03
    Check if Windows Updates were installed Windows
  • Err connection timed out DNS
    How to Fix Err Connection Timed Out DNS Error Windows
  • command prompt powershell 670x335 1
    How to Start, Stop and Restart Windows Server Update WSUS Services via PowerShell and CMD Windows
  • Screenshot 2021 03 29 at 01.56.17
    How to prevent VLC player from reverting to the native video size on Mac Mac
  • Slide1 1
    How to manage Microsoft Defender Antivirus using Group Policy and Command Line Utility Anti-Virus Solution
  • veeam vulnerability backups
    Fix critical Veeam Backup and Replication 9.5, 10, and 11 vulnerabilities Backup

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 1,824 other subscribers
  • RSS - Posts
  • RSS - Comments
  • About
  • Authors
  • Write for us
  • Advertise with us
  • General Terms and Conditions
  • Privacy policy
  • Feedly
  • Telegram
  • Youtube
  • Facebook
  • Instagram
  • LinkedIn
  • Tumblr
  • Pinterest
  • Twitter
  • mastodon

Tags

Active Directory AWS Azure Bitlocker Microsoft Windows PowerShell WDS Windows 10 Windows 11 Windows Server 2016

Copyright © 2025 TechDirectArchive

 

Loading Comments...
 

You must be logged in to post a comment.