-
Notifications
You must be signed in to change notification settings - Fork 110
Home
The cChoco project will be archived and made read-only by June 30, 2026.
Instead of using cChoco, we recommend transitioning to Chocolatey Module.
Below are a number of common tasks done using cChoco resources and their Chocolatey Module equivalents.
When using cChoco to install Chocolatey CLI, you used the cChocoInstaller resource and must specify a path into which Chocolatey should be installed:
cChocoInstaller InstallChoco {
InstallDir = 'C:\choco'
}When using the Chocolatey Module, you install Chocolatey CLI using the ChocolateySoftware resource and the default install location is respected so you do not need to specify an installation directory.
ChocolateySoftware InstallChoco {
Ensure = 'Present'
}If required, you can still provide an installation directory as you previously did when using cChoco.
ChocolateySoftware InstallChoco {
Ensure = 'Present'
InstallationDirectory = 'C:\choco'
}To install a package using cChoco, you use the cChocoPackageInstaller resource.
cChocoPackageInstaller InstallGit {
Ensure = 'Present'
Name = 'git'
}The Chocolatey Module equivalent of this resource is ChocolateyPackage.
ChocolateyPackage InstallGit {
Ensure = 'Present'
Name = 'git'
}To uninstall a package using cChoco, you also use the cChocoPackageInstaller resource, just like during an install.
cChocoPackageInstaller UninstallGit {
Ensure = 'Absent'
Name = 'git'
}The Chocolatey Module equivalent of this resource is also ChocolateyPackage.
ChocolateyPackage UninstallGit {
Ensure = 'Absent'
Name = 'git'
}To install multiple packages with one task using cChoco, you use the cChocoPackageInstallerSet resource.
cChocoPackageInstallerSet InstallMultiplePackages {
Ensure = 'Present'
Name = @(
"git"
"skype"
"7zip"
)
}There is no direct equivalent of this in Chocolatey Module. Instead, you use the ChocolateyPackage resource inside a foreach loop.
$Packages = @(
"git"
"skype"
"7zip"
)
foreach ($Pkg in $Packages) {
ChocolateyPackage "Install_$Pkg" {
Ensure = 'Present'
Name = $Pkg
}
}To manage sources using cChoco, you use the cChocoSource resource.
cChocoSource AddInternalRepo {
Ensure = 'Present'
Name = 'InternalRepo'
Source = 'https://internal-repo.local/api/v2/'
Priority = 1
}The equivalent resource in Chocolatey Module is ChocolateySource.
ChocolateySource AddInternalRepo {
Ensure = 'Present'
Name = 'InternalRepo'
Source = 'https://internal-repo.local/api/v2/'
Priority = 1
}To manage Chocolatey Features with cChoco, you use the cChocoFeature resource.
cChocoFeature EnableGlobalConfirm {
Ensure = 'Present'
FeatureName = 'allowGlobalConfirmation'
}The equivalent resource in the Chocolatey Module is ChocolateyFeature.
ChocolateyFeature EnableGlobalConfirm {
Ensure = 'Present'
Name = 'allowGlobalConfirmation'
}To configure Chocolatey Settings with cChoco, you use the cChocoConfig resource.
cChocoConfig SetCacheLocation {
Ensure = 'Present'
ConfigName = 'cacheLocation'
Value = 'C:\Temp\Choco'
}The equivalent resource in the Chocolatey Module is ChocolateySetting.
ChocolateySetting SetCacheLocation {
Ensure = 'Present'
Name = 'cacheLocation'
Value = 'C:\Temp\Choco'
}