#### Chocolatey

0.10.8-beta-20170806 | Updated: 8/7/2017

174,901,830

4,768

Maintainer(s):

Software Author(s):

• Chocolatey Software
• Inc

Tags:

### All Checks are Passing

2 Passing Test

Verification Testing Passed

Details

Validation Testing Passed

Note: Please visit our documentation to learn how to install/uninstall Chocolatey.

To upgrade Chocolatey, run the following command from the command line or from PowerShell:

>

This package was approved as a trusted package on 8/7/2017.

Description

Chocolatey is a package manager for Windows (like apt-get but for Windows). It was designed to be a decentralized framework for quickly installing applications and tools that you need. It is built on the NuGet infrastructure currently using PowerShell as its focus for delivering packages from the distros to your door, err computer.

Chocolatey is brought to you by the work and inspiration of the community, the work and thankless nights of the Chocolatey Team, with Rob heading up the direction.

You can host your own sources and add them to Chocolatey, you can extend Chocolatey's capabilities, and folks, it's only going to get better.

### Commands

There are quite a few commands you can call - you should check out the command reference. Here are the most common:

• Help - choco -? or choco command -?
• Search - choco search something
• List - choco list -lo
• Config - choco config list
• Install - choco install baretail
• Pin - choco pin windirstat
• Outdated - choco outdated
• Uninstall - choco uninstall baretail

#### Alternative installation sources:

• Install ruby gem - choco install compass -source ruby
• Install python egg - choco install sphynx -source python
• Install windows feature - choco install IIS -source windowsfeatures
• Install webpi feature - choco install IIS7.5Express -source webpi

#### More

For more advanced commands and switches, use choco -? or choco command -h. You can also look at the command reference, including how you can force a package to install the x86 version of a package.

### Create Packages?

We have some great guidance on how to do that. Where? I'll give you a hint, it rhymes with socks! Docs!

In that mess there is a link to the PowerShell Chocolatey module reference.

tools\chocolateyInstall.ps1
tools\chocolateyInstall\choco.exe
tools\chocolateyInstall\choco.exe.ignore
tools\chocolateyInstall\choco.exe.manifest
tools\chocolateyInstall\choco.pdb
tools\chocolateyInstall\CREDITS.txt
tools\chocolateyInstall\helpers\chocolateyInstaller.psm1
tools\chocolateyInstall\helpers\chocolateyProfile.psm1
tools\chocolateyInstall\helpers\chocolateyScriptRunner.ps1
tools\chocolateyInstall\helpers\ChocolateyTabExpansion.ps1
tools\chocolateyInstall\helpers\functions\Format-FileSize.ps1
tools\chocolateyInstall\helpers\functions\Get-CheckSumValid.ps1
tools\chocolateyInstall\helpers\functions\Get-ChocolateyUnzip.ps1
tools\chocolateyInstall\helpers\functions\Get-ChocolateyWebFile.ps1
tools\chocolateyInstall\helpers\functions\Get-EnvironmentVariable.ps1
tools\chocolateyInstall\helpers\functions\Get-EnvironmentVariableNames.ps1
tools\chocolateyInstall\helpers\functions\Get-FtpFile.ps1
tools\chocolateyInstall\helpers\functions\Get-OSArchitectureWidth.ps1
tools\chocolateyInstall\helpers\functions\Get-ToolsLocation.ps1
tools\chocolateyInstall\helpers\functions\Get-UACEnabled.ps1
tools\chocolateyInstall\helpers\functions\Get-UninstallRegistryKey.ps1
tools\chocolateyInstall\helpers\functions\Get-VirusCheckValid.ps1
tools\chocolateyInstall\helpers\functions\Get-WebFile.ps1
tools\chocolateyInstall\helpers\functions\Get-WebFileName.ps1
tools\chocolateyInstall\helpers\functions\Install-BinFile.ps1
tools\chocolateyInstall\helpers\functions\Install-ChocolateyEnvironmentVariable.ps1
tools\chocolateyInstall\helpers\functions\Install-ChocolateyFileAssociation.ps1
tools\chocolateyInstall\helpers\functions\Install-ChocolateyInstallPackage.ps1
tools\chocolateyInstall\helpers\functions\Install-ChocolateyPackage.ps1
tools\chocolateyInstall\helpers\functions\Install-ChocolateyPath.ps1
tools\chocolateyInstall\helpers\functions\Install-ChocolateyPowershellCommand.ps1
tools\chocolateyInstall\helpers\functions\Install-ChocolateyShortcut.ps1
tools\chocolateyInstall\helpers\functions\Install-ChocolateyVsixPackage.ps1
tools\chocolateyInstall\helpers\functions\Install-ChocolateyZipPackage.ps1
tools\chocolateyInstall\helpers\functions\Install-Vsix.ps1
tools\chocolateyInstall\helpers\functions\Set-EnvironmentVariable.ps1
tools\chocolateyInstall\helpers\functions\Set-PowerShellExitCode.ps1
tools\chocolateyInstall\helpers\functions\Uninstall-BinFile.ps1
tools\chocolateyInstall\helpers\functions\Uninstall-ChocolateyEnvironmentVariable.ps1
tools\chocolateyInstall\helpers\functions\Uninstall-ChocolateyPackage.ps1
tools\chocolateyInstall\helpers\functions\UnInstall-ChocolateyZipPackage.ps1
tools\chocolateyInstall\helpers\functions\Update-SessionEnvironment.ps1
tools\chocolateyInstall\helpers\functions\Write-ChocolateyFailure.ps1
tools\chocolateyInstall\helpers\functions\Write-ChocolateySuccess.ps1
tools\chocolateyInstall\helpers\functions\Write-FileUpdateLog.ps1
tools\chocolateyInstall\helpers\functions\Write-FunctionCallLogMessage.ps1
tools\chocolateyInstall\redirects\choco.exe
tools\chocolateyInstall\redirects\choco.exe.ignore
tools\chocolateyInstall\redirects\chocolatey.exe
tools\chocolateyInstall\redirects\chocolatey.exe.ignore
tools\chocolateyInstall\redirects\cinst.exe
tools\chocolateyInstall\redirects\cinst.exe.ignore
tools\chocolateyInstall\redirects\clist.exe
tools\chocolateyInstall\redirects\clist.exe.ignore
tools\chocolateyInstall\redirects\cpack.exe
tools\chocolateyInstall\redirects\cpack.exe.ignore
tools\chocolateyInstall\redirects\cpush.exe
tools\chocolateyInstall\redirects\cpush.exe.ignore
tools\chocolateyInstall\redirects\cuninst.exe
tools\chocolateyInstall\redirects\cuninst.exe.ignore
tools\chocolateyInstall\redirects\cup.exe
tools\chocolateyInstall\redirects\cup.exe.ignore
tools\chocolateyInstall\redirects\cver.exe
tools\chocolateyInstall\redirects\cver.exe.ignore
tools\chocolateyInstall\redirects\RefreshEnv.cmd
tools\chocolateyInstall\tools\7z.dll
tools\chocolateyInstall\tools\7z.dll.manifest
tools\chocolateyInstall\tools\7z.exe
tools\chocolateyInstall\tools\7z.exe.ignore
tools\chocolateyInstall\tools\7z.exe.manifest
tools\chocolateyInstall\tools\checksum.exe
tools\chocolateyInstall\tools\checksum.exe.config
tools\chocolateyInstall\tools\checksum.exe.ignore
tools\chocolateyInstall\tools\shimgen.exe
tools\chocolateyInstall\tools\shimgen.exe.ignore
tools\chocolateysetup.psm1
tools\init.ps1

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Chocolatey 0.10.15-beta-20190531 739 Friday, May 31, 2019 approved
Chocolatey 0.10.14 506709 Thursday, May 30, 2019 approved
Chocolatey 0.10.14-beta-20190418 5156 Thursday, April 18, 2019 approved
Chocolatey 0.10.14-beta-20190402 2557 Tuesday, April 2, 2019 approved
Chocolatey 0.10.14-beta-20190321 2128 Friday, March 22, 2019 approved
Chocolatey 0.10.13 7583367 Friday, March 15, 2019 approved
Chocolatey 0.10.12 151901 Friday, March 15, 2019 approved
Chocolatey 0.10.12-beta-20181011 14866 Friday, October 12, 2018 approved
Chocolatey 0.10.12-beta-20181009 515 Tuesday, October 9, 2018 approved

## 0.10.7

### BREAKING CHANGES

• Set requested execution level back to asInvoker while determining more advanced elevated scenarios - see #1324

After much deliberation with the community, we're moving execution policy back to the default of asInvoker to make it work like it did prior to 0.10.4. However we are leaving it open for you to change it to whatever execution level you want by keeping the manifest external from choco.exe. We will be looking more at advanced scenarios - the discussion is at #1307. If you don't have a GitHub account, feel free to start a thread on the mailing list (and if you are a customer, you have private channels to voice your opinions on this change).

## 0.10.6.1

### BUG FIXES

• Fix - shimgen fails with unrecognized option: '/errorendlocation' in .NET 4.0 only environments - see #1321
• Fix - Do not fail extracting resources at runtime - see #1318
• Fix - Silently fail when deleting choco.exe.old - see #1319

## 0.10.6

This release includes fixes and adjustments to the API to make it more usable. Search / List has also been improved with the data that it returns when verbose/detailed, along with info always returning a package with information instead of erroring sometimes. The search results from the community package repository now match what you see on the website.

### BUG FIXES

• Fix - choco.exe.manifest is ignored because it is extracted AFTER first choco.exe access - see #1292
• Fix - Chocolatey config changes in 0.10.4+ - The process cannot access the file because it is being used by another process - see #1241
• Fix - PowerShell sees authenticode hash as changed in scripts that are UTF8 (w/out BOM) that contain unicode characters - see #1225
• Fix - Chocolatey timed out immediately when execution timeout was infinite (0) - see #1224
• Fix - Multiple authenticated sources with same base url fail when authentication is different - see #1248
• Fix - choco list / search / info - Some packages can't be found - see #1004
• Fix - chocolatey.config gets corrupted when multiple processes access simultaneously - see #1258
• Fix - Update ShimGen to 0.8.x to address some issues - see #1243
• Fix - AutoUninstaller should skip uninstall keys if they are empty - see #1315
• Fix - Trace logging should only occur on when trace is enabled - see #1309
• Fix - RefreshEnv.cmd doesn't set the correct PATH - see #1227
• Fix - choco new generates uninstall template with wrong use of registry key variable - see #1304
• [API] Fix- chocolatey.lib nuget package has incorrect documentation xml - see #1247
• [API] Fix - Chocolatey file cache still adds a 'chocolatey' directory on each install - see #1231
• [API] Fix - List and Count should implement similar functionality as run - see #1298
• Pro/Business - [API] Fix - Ensure DLL can work with licensed code - see #1287

### IMPROVEMENTS

• Default package push url now uses push subdomain - see #1285
• Report process id in the log files - see #1239
• choco info / list / search - Include summary on detailed view - see #1253
• choco info / list /search - Include release notes on detailed view - see #1263
• choco list / search - Option to list packages only by name - see #1237
• choco list / search - Allow sorting package results by relevance - see #1101
• choco list / search - Search by tags only - see #1033
• choco outdated - Option to leave out pinned packages - see #994
• Install-ChocolateyPackage and other functions should alias File/File64 - see #1284
• Install-ChocolateyPowerShellCommand should alias File/FileFullPath for PsFileFullPath - see #1311
• Logging - capture more information about a user (user name, domain, remote?, system?) - see #615
• Stop saying "0 packages failed." - see #1259
• [API] provide a way to see ChocolateyConfiguration - see #1267
• [API] Attempt to get ChocolateyInstall environment variable prior to extraction - see #1297
• [API] Expose Container directly - see #1294
• Pro/Business - Support for Package Audit (who installed packages) - see #1238
• Pro/Business - [API] Ensure configuration retains base info between uses - see #1296

## 0.10.5

### BUG FIXES

• Fix - Start-ChocolateyProcessAsAdmin errors when running PowerShell scripts - see #1220

### IMPROVEMENTS

• Show machine readable output with choco outdated -r - see #1222

## 0.10.4

We're dubbing this the "10-4 good buddy" release. We've added some major functionality and fixes we think you are going to find top notch - dare we say as smooth as really expensive chocolate? A lot of work for this release has been provided by the community. Remember that Chocolatey is only as good as the support that comes from the community! Be sure to thank other community members for the awesome that is Chocolatey and Chocolatey 10-4. We've closed over 30 bugs and added over 40 enhancements (75 tickets in total)!

Proxy support just got some major enhancements with the ability to not only specify proxy information at runtime, but also to set bypass lists and bypassing on local connections and configure source repositories to bypass proxies. A major issue with changing command execution timeout was just fixed. And there used to be a tiny chance you might corrupt the choco config when running multiple choco processes -but now that is much better handled.

We've also made package itself display download progress, which is great when software binaries are embedded in packages. For you folks looking to remove any progress (like when using Vagrant), now you can use --no-progress. When NuGet.Core has issues, those issues will have more visibility into why things are failing without needing a debugging log. Speaking of some extreme visibility, see network traffic with --trace.

We've got a few possible breaking changes that could affect you, see what we've written about them below.

This also marks the first release that uses the Chocolatey Software digital certificate for signing instead of the RealDimensions Software, LLC certificate.

Another major feature released in preview is using remembered arguments on upgrade. This is in preview in 0.10.4 and will be turned to 'on' automatically in a future release. We are going to be continually making it better and won't turn it on by default until it is ready. If you want to turn it on and start using it, once you have 0.10.4 installed, run choco feature enable -n useRememberedArgumentsForUpgrades. You can also do this per command with --use-remembered-arguments. You can also turn it off per command with --ignore-remembered-arguments. We've also really described a lot of important considerations and thoughts related to using this so there are no surprises. Please do read the issue notes at length if you plan to use this feature to reduce confusion.

### BREAKING CHANGES

• Run with highestAvailable Execution Level by default - see #1054

One longstanding request with Chocolatey was to have it always request admin privileges before running. This has been a hope that it would cut down on the accidental runs of Chocolatey in a command shell that is not elevated and needing to open one that is elevated. This UAC (User account control) setting is handled by something called an application manifest (app.manifest). We had it set to "asInvoker", or run with the context of the user that ran the command. We've moved this to "highestAvailable", which means if you are a non-admin, it will just run under your context, but if you are an admin in a non-elevated shell, it will ask for elevated permissions to run. There is also "requireAdministrator", which locks execution down to administrators only.

Moving to "highestAvailable" allows for that asking of privileges that you are used to, up front before it runs. However one additional thing we did here was give you more control over this setting now. We used to embed the app manifest into choco.exe. We now set it next to choco.exe (base install under \$env:ChocolateyInstall, you will find choco.exe.manifest) so you have more freedom to adjust those execution levels as you see fit. There is one catch, you will need to do it on every install/upgrade of Chocolatey until #1206 is implemented.

• When a prerelease is installed, it should upgrade to latest prerelease unless excluded - typically seen in choco upgrade all - see #686

When you run choco upgrade all, it never catches the prereleases. However if you run choco upgrade all --pre, it may upgrade some of your stable installs to prereleases. Neither of these situations are desirable. So by default, we've made it so that choco upgrade all just does the right thing, which is to upgrade your stable releases to the latest stable release and your prerelease packages will upgrade to the absolute latest available, whether that be stable or prerelease. If you need to change the behavior back to the old way for upgrade all, simply add the --exclude-prerelease option.

• Fix - Passing Allow Downgrade To upgrade against a prerelease may downgrade it to last stable version - see #1212

This is a bug fix that was allowing a prerelease to be downgraded accidentally to the last stable version if you ran choco upgrade somepackage --allow-downgrade without a particular version and without --pre. Now while this would be less affected with #686 above, it could still happen. It's a bug. The only reason this was marked as breaking change is that someone could be depending on the buggy behavior. So heads up, this bug is now fixed. If you are attempting to downgrade, make sure you specify the version you want it to go down to.

### FEATURES

• [Security][Preview] Use Remembered Arguments for a Package During Upgrades - You must opt in for this to work - see #797
• Show download progress for the packages themselves - see #1134
• Set Explicit Proxy Bypass List / Bypass On Local - see #1165
• Option/feature to stop installation when a package fails - see #1151
• Add File64 to Install-ChocolateyInstallPackage and Get-ChocolateyUnzip - see #1187

### BUG FIXES

• [Security] Fix - PowerShell sees authenticode hash as changed in scripts that were signed with Unix Line Endings (LF) - unable to use AllSigned - see #1203
• [Security] Fix - chocolatey setup - Use https for downloading .NET Framework 4x if not installed - see #1112
• Fix - chocolatey.config gets corrupted when multiple processes access simultaneously - see #1047
• Fix - "commandExecutionTimeoutSeconds" always reverts to 2700 when deprecated config setting is 0 - see #1059
• Fix - Allow Chocolatey version check with FIPS - see #1193
• Fix - Chocolatey doesn't always decompress downloads appropriately (support automatic decompression) - see #1056
• Fix - Load built-in Chocolatey functions, then load extensions - see #1200
• Fix - Use provided checksum type - see #1018
• Fix - MSU fails to install with space in path - see #1177
• Fix - Unable to disable failOnInvalidOrMissingLicense feature - see #1069
• Fix - PowerShell (Start-ChocolateyProcessAsAdmin) should only import the installerModule and not the profile - see #1013
• Fix - Automatic Uninstaller should skip when uninstaller executable does not exist - see #1035
• Fix - Package installation often fails with ERROR: You cannot call a method on a null-valued expression - see