Overview

FIrst we need to start of with the module that does all the heavy lifting. The cChoco module from Chocolatey.org runs at the core of cChocoEx. It is a Powershell Desired State Control Module and has all the core logic needed for processing Chocolatey packages and configurations.

Why cChocoEx?

cChoco itself lacks some needed features to be able to effectively distribute software or NuGet packages. While defining a static state for a server that is always connected and online makes sense. It starts to get more complicated when you want to define a desired state on a PC that is remote, has no constant network access, and processing packages while the end user is working has major negative consequences.

Why not fork or contribute to cChoco?

The short version is not all environments can easily stand up a highly available PowerShell DSC setup, and almost all Windows workstations today support a modern iteration of PowerShell (Goodbye WIndows 7/PowerShell 2.0!). This makes our user base much broader and accessible. Maybe some of these features will/can be contributed to the official project and they can be deprecated from cChocoEx, only time will tell.

So What is cChocoEx then?

It is simply a wrapper for the cChoco Powershell DSC Module to be able to define and process configuration files on Windows PowerShell 4.0 on up. It adds additional functionality like maintenance windows, enhanced logging, VPN validation, and deployment rings.

Last updated

Was this helpful?