Skip to content

TechDirectArchive

Hands-on IT, Cloud, Security, Veeam & DevOps

  • Home
  • About
  • Advertise With US
  • Reviews
  • Contact
  • Toggle search form

Create Chocolatey Package: Upgrade Software with Chocolatey

Posted on 25/10/202215/08/2026 Imoh Etuk By Imoh Etuk No Comments on Create Chocolatey Package: Upgrade Software with Chocolatey
  1. Home
  2. Scripts
  3. 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.

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
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

  • Pluggin cable
    System check found some issues during MBAM encryption: Fail, the Power cable must be connected Windows
  • image 41
    INACCESSIBLE BOOT DEVICE: Fix Your PC ran into a problem and needs to restart Windows
  • User profile in Windows
    How to delete User Profile in Windows Windows
  • image 1
    Install and License Devolutions Remote Desktop Manager on Mac Mac
  • jhgfx
    How to make Cortana use your default web browser such as Google Chrome Windows
  • img 5be0c6cdb96d8
    Is BitLocker Enabled? How to view BitLocker Disk Encryption Status in Windows Windows

More Related Articles

PowerShell How to setup PowerShell on a Linux server Scripts
App Locker Harden your Veeam Backup Server with Microsoft AppLocker Windows
how to fix the sorry this file type is not permitted for security reasons error in wordpress 5e4a5632967c7 Error 1707: Network address invalid when trying to connect remotely Windows
Feature image Error Code 0xC1900101 – 0x30018 How to Fix Windows Update Error Code 0xC1900101 – 0x30018 Windows
5rgh65436 New Windows 11 encryption features and security enhancements for Hybrid Work Security | Vulnerability Scans and Assessment
get computer specific model information How to get Windows PC specific Model information Windows

Leave a Reply Cancel reply

You must be logged in to post a comment.

Microsoft MVP

vexpert-badge-stars-5

Virtual Background

VEEAMLEGEND

Categories

Top 30 Sysadmin blog

veeaam100

Veeam Vanguard

  • veeaamAgent1
    Veeam Agent Vulnerability: Fix Veeam Agent vulnerability for Microsoft Windows  Backup
  • ios microsoft remote desktop app
    Remote Desktop can not find the computer FQDN and this might mean that FQDN does not belong to the specified network Windows
  • ycx
    Detect registry keys using Process Monitor using Sysinternals Tools Windows Server
  • mdtxxxxx
    Failed to run the action install Operating System: Lifetouch deployment failed, Return Code = -2147467259 0x80004005 when installing Windows image via MDT Windows
  • powershell01
    WinRM and PSRemoting: Configure servers for remote access Scripts
  • maxresdefault
    How to extend a VM Hard Disk on VMware Workstation Virtualization
  • Featured image new
    How to find out who restarted Windows Server Windows
  • VHR upgrade
    Upgrade legacy VHR to Veeam Infrastructure Hardened Repository 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,745 other subscribers
  • RSS - Posts
  • RSS - Comments
  • About
  • Authors
  • Write for us
  • Contact
  • Advertise with us
  • General Terms and Conditions
  • Privacy policy
  • Feedly
  • Telegram
  • Youtube
  • Facebook
  • Instagram
  • LinkedIn
  • Tumblr
  • Pinterest
  • Twitter
  • mastodon
  • Bsky

Tags

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

Copyright © 2026 TechDirectArchive

Loading Comments...

You must be logged in to post a comment.