![]() | Paul BroadwithTechnical Engineering Manager at Chocolatey Software, Inc.
| |
![]() | ![]() | ![]() |
| Operating System | WinGet | Chocolatey |
| Windows 11 22H2 / 22H1 (1) | ||
| Windows 10 22H2 / 22H1 (1) | ||
| Windows 10 20H2 Education & Enterprise |
(1) Home, Pro, Education & Enteprise editions.
| Operating System | WinGet | Chocolatey |
| Windows Server 2022 | X | |
| Windows Server 2019 | X | |
| Windows Server 2016 | X | |
| Windows Server 2012 R2 | X | |
| Windows Server 2012 | X | |
| Windows Server 2008 R2 in Azure | X |
| Operating System | WinGet | Chocolatey |
| Windows 10 1709+ | ||
| Windows 10 (up to 1709) | X | |
| Windows 8.1 | X | |
| Windows 8 | X | |
| Windows 7 | X | |
| Windows Server 2008 | X | |
| Windows Server 2003 | X |
There may be other PackageManagement providers for Chocolatey but ChocolateyGet seems to be the most used and recommended by the community.
Chocolatey PowerShell Module and DSC Resource
|
The five fundamental areas for Chocolatey:
cChocoInstaller InstallChoco
{
# required!
InstallDir = 'c:\choco'
}
All it does is install Chocolatey!
But you need to install Chocolatey before you do anything else because it’s not installed automatically.
Environment chocolateyDownloadUrl
{
Name = 'chocolateyDownloadUrl'
Path = $false
Value = 'https://your-internal-repo.com/chocolatey.1.1.0.nupkg'
Ensure = 'present'
}
cChocoInstaller InstallChoco
{
InstallDir = 'c:\choco'
DependsOn = '[Environment]chocolateyDownloadUrl'
}
PR Submitted by timothy-mcroy-cengage.
cChocoPackageInstaller InstallGoogleChromeWithVersion
{
Name = 'googlechrome'
Ensure = 'present'
Version = 101.0.4951.41
Source = 'https://internal-repo.com/api/v2/'
# Also supports Params and MinimumVersion
DependsOn = '[cChocoInstaller]InstallChoco'
}
cChocoPackageInstallerSet InstallBaselinePackages
{
Name = 'googlechrome', 'git', 'putty'
Ensure = 'present'
# Also supports Source
DependsOn = '[cChocoInstaller]InstallChoco'
}
cChocoSource AddInternalRepoSource
{
Name = 'my-org'
Ensure = 'present'
Source = 'https://internal-repo.com/api/v2/'
# Also supports Priority and Credential
DependsOn = '[cChocoInstaller]InstallChoco'
}
Cannot enable or disable a source.
Admin only, self-service or proxy bypass is not supported.
cChocoFeature allowGlobalConfirmation
{
FeatureName = 'allowGlobalConfirmation'
Ensure = 'present'
DependsOn = '[cChocoInstaller]InstallChoco'
}
cChocoConfig UseVirusTotal
{
ConfigName = 'virusScannerType'
Ensure = 'present'
Value = 'virustotal'
DependsOn = '[cChocoInstaller]InstallChoco'
}
| ChocolateyGet | ‘Chocolatey’ | cChoco | |
|---|---|---|---|
| Auto Install | ✔ | ✔ | ❌ |
| Install Choco Separately | ❌ * | ✔ | ✔ |
| Org install | ❌ * | ✔ | ✔ |
| ChocolateyGet | ‘Chocolatey’ | cChoco | |
|---|---|---|---|
| Install | ✔ | ✔ | ✔ |
| Upgrade | ✔ * | ✔ | ✔ |
| Pin | ❌ | ✔ | ❌ |
| Uninstall | ✔ | ✔ | ✔ |
| List (Local) | ✔ | ✔ | ✔ |
| List (Source) | ✔ | ✔ | ✔ |
| ChocolateyGet | ‘Chocolatey’ | cChoco | |
|---|---|---|---|
| Install | ✔ | ✔ | ✔ |
| List | ✔ | ✔ | ✔ |
| Manage | ✔ * | ✔ | ✔ * |
| ChocolateyGet | ‘Chocolatey’ | cChoco | |
|---|---|---|---|
| Manage Feature | ❌ | ✔ | ✔ |
| Manage Config | ❌ | ✔ | ✔ |
jianyunt).Chocolatey PowerShell Module and DSC Resource| blog.pauby.com | ||
| @pauby | ||
| github.com/pauby | ||
| pau.by/linkedin |
pau.by/talks