Organizational Use

If you are an organization using Chocolatey, we want your experience to be fully reliable.
Due to the nature of this publicly offered repository, reliability cannot be guaranteed.
Packages offered here are subject to distribution rights, which means they may need to reach out further to the internet to the official locations to download files at runtime.

Fortunately, distribution rights do not apply for internal use. With any edition of Chocolatey (including the free open source edition), you can host your own packages and cache or internalize existing community packages.

Disclaimer

Your use of the packages on this site means you understand they are
not supported or guaranteed in any way.
Learn more...

Chocolatey

0.9.8.31

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.

function Chocolatey-Help {
@"
Version: `'$chocVer'`
Install Directory: `'$nugetPath`'
== Chocolatey? ==
"I'm a tools enabler, a global silent installer. I met your mother.
Some want to call me apt-get for Windows, I just want to get #chocolatey!"
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
(https://github.com/orgs/chocolatey/members), and Rob (@ferventcoder)
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.
== Chocolatey gods? ==
Humor related to playing off of tiki gods. We like humor. Don't take life
so seriously, you will never get out alive.
== Release Notes ==
https://github.com/chocolatey/chocolatey/wiki/ReleaseNotes
== Package License Acceptance Terms ==
The act of running chocolatey to install a package constitutes acceptance
of the license for the application, executable(s), or other artifacts
that are brought to your machine as a result of a chocolatey install.
This acceptance occurs whether you know the license terms or not. It is
suggested that you read and understand the license terms of any package
you plan to install prior to installation through chocolatey.
If you do not accept the license of a package you are installing, please
uninstall it and any artifacts that end up on your machine as a result
of the install.
== Waiver of Responsibility ==
The use of chocolatey means that an individual using chocolatey assumes
the responsibility for any changes (including any damages of any sort)
that occur to the system as a result of using chocolatey.
This does not supercede the verbage or enforcement of the license for
chocolatey (currently Apache 2.0), it is only noted here that you are
waiving any rights to collect damages by your use of chocolatey.
It is recommended you read the license
(http://www.apache.org/licenses/LICENSE-2.0) to gain a full understanding
(especially section 8. Limitation of Liability) prior to using chocolatey.
== Commands ==
For all commands check out the command reference at:
https://github.com/chocolatey/chocolatey/wiki/CommandsReference
* Search - choco search something
* List locally installed packages - choco list -lo
* Install - choco install baretail
* Update - choco update baretail
* Uninstall - choco uninstall baretail
* 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 advanced commands and switches listed on the command reference,
including how you can force a package to install the x86 version of a
package.
Examples:
* choco install nunit
* choco install nunit -version 2.5.7.10213
* choco install packages.config
* choco update nunit -source http://somelocalfeed.com/nuget/
* choco help
* choco search nunit
* choco list -localonly
* choco version
* choco version nunit
* choco uninstall nunit
* choco install sphynx -source python
== Create Packages? ==
We have some great guidance on how to do that. Where? I'll give you a
hint, it rhymes with sticky!
https://github.com/chocolatey/chocolatey/wiki/CreatePackages
In that mess there is a link to the Helper Reference -
https://github.com/chocolatey/chocolatey/wiki/HelpersReference
"@ | Write-Host
}

function Get-BinRoot {
Write-Debug "Running 'Get-BinRoot'";
# Since CamelCase was decided upon when $env:ChocolateyInstall was first invented, whe should stick to this convention and use $env:ChocolateyBinRoot.
# I propose:
# 1) all occurances of $env:chocolatey_bin_root be replaced with $env:ChocolateyBinRoot;
# 2) Make the new Chocolatey Installer for new users explicitly set (if not exists) $env:ChocolateyInstall and $env:ChocolateyBinRoot as environment variables so users will smile and understand;
# 3) Make new Chocolatey convert old $env:chocolatey_bin_root to $env:ChocolateyBinRoot
# 4) If there is no bin root, we default to SystemDrive\tools
$binRoot = ''
# Clean up wrongfully set C:\
if ($env:ChocolateyBinRoot -eq $env:systemdrive) {
# Read but untested: Setting a variable = an empty string will remove it completely.
$env:ChocolateyBinRoot = ''
}
# For now, check old var first
if ($env:ChocolateyBinRoot -eq $null) { # If no value
if ($env:chocolatey_bin_root -eq $null) { # Try old var
$env:ChocolateyBinRoot = join-path $env:systemdrive 'tools'
}
else {
$env:ChocolateyBinRoot = $env:chocolatey_bin_root
}
}
# My ChocolateyBinRoot is C:\Common\bin, but looking at other packages, not everyone assumes ChocolateyBinRoot is prepended with a drive letter.
if (-not($env:ChocolateyBinRoot -imatch "^\w:")) {
# Add drive letter
$binRoot = join-path $env:systemdrive $env:ChocolateyBinRoot
}
else {
$binRoot = $env:ChocolateyBinRoot
}
# Now that we figured out the binRoot, let's store it as per proposal #3 line #7
if (-not($env:ChocolateyBinRoot -eq $binRoot)) {
Set-EnvironmentVariable -Name "ChocolateyBinRoot" -Value $binRoot -Scope User
# Note that user variables pose a problem when there are two admins on one computer. But this is what was decided upon.
}
return $binRoot
}

tools\chocolateyInstall\helpers\functions\Test-ProcessAdminRights.ps1
Show

function Test-ProcessAdminRights {
<#
.SYNOPSIS
Tests whether the current process is running with administrative rights.
.DESCRIPTION
This function checks whether the current process has administrative rights
by checking if the current user identity is a member of the Administrators group.
It returns $true if the current process is running with administrative rights,
$false otherwise.
On Windows Vista and later, with UAC enabled, the returned value represents the
actual rights available to the process, i.e. if it returns $true, the process is
running elevated.
.OUTPUTS
System.Boolean
#>
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent([Security.Principal.TokenAccessLevels]'Query,Duplicate'))
$isAdmin = $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
Write-Debug "Test-ProcessAdminRights: returning $isAdmin"
return $isAdmin
}

tools\chocolateyInstall\helpers\functions\Uninstall-ChocolateyPackage.ps1
Show

tools\chocolateyInstall\helpers\functions\Update-SessionEnvironment.ps1
Show

function Update-SessionEnvironment {
<#
.SYNOPSIS
Updates the environment variables of the current powershell session with
any environment variable changes that may have occured during a chocolatey
package install.
.DESCRIPTION
When chocolatey installs a package, the package author may add or change
certain environment variables that will affect how the application runs
or how it is accessed. Often, these changes are not visible to the current
powershell session. This means the user needs to open a new powershell
session before these settings take effect which can render the installed
application unfunctional until that time.
Use the Update-SessionEnvironment command to refresh the current
powershell session with all environment settings possibly performed by
chocolatey package installs.
#>
#ordering is important here, $user comes after so we can override $machine
'Machine', 'User' |
% {
$scope = $_
Get-EnvironmentVariableNames -Scope $scope |
% {
Set-Item "Env:$($_)" -Value (Get-EnvironmentVariable -Scope $scope -Name $_)
}
}
#Path gets special treatment b/c it munges the two together
$paths = 'Machine', 'User' |
% {
(Get-EnvironmentVariable -Name 'PATH' -Scope $_) -split ';'
} |
Select -Unique
$Env:PATH = $paths -join ';'
}

tools\chocolateyInstall\helpers\functions\Write-ChocolateyFailure.ps1
Show

Copyright 2011 - Present Rob Reynolds, the maintainers of Chocolatey, and RealDimensions Software, LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

7-Zip Command line version
~~~~~~~~~~~~~~~~~~~~~~~~~~
License for use and distribution
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7-Zip Copyright (C) 1999-2010 Igor Pavlov.
7za.exe is distributed under the GNU LGPL license
Notes:
You can use 7-Zip on any computer, including a computer in a commercial
organization. You don't need to register or pay for 7-Zip.
GNU LGPL information
--------------------
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You can receive a copy of the GNU Lesser General Public License from
http://www.gnu.org/

Shim Generator - shimgen.exe
Copyright (C) 2013-Present RealDimensions Software, LLC ("RDS")
===================================================================
Grant of License
===================================================================
You may use Shim Generator ("shimgen.exe") only with the official chocolatey client.
The use of shimgen.exe for any other reason is strictly prohibited.
If you would like to use this software for any other reason, you must obtain a personal or commercial license to do so. To do that you must contact RDS at ferventcoder.com.
This software is not free to distribute. If you would like to distribute this software, you must receive written permission from the software owner.
===================================================================
End-User License Agreement
===================================================================
EULA - Shim Generator
IMPORTANT- READ CAREFULLY: This RealDimensions Software ("RDS") End-User License Agreement ("EULA") is a legal agreement between you("End User") and RDS for all RDS products, controls, source code, demos, intermediate files, media, printed materials, and "online" or electronic documentation ("SOFTWARE PRODUCT(S)") contained with this distribution.
RDS grants to you as an individual, a personal, nonexclusive license to install and use the SOFTWARE PRODUCT(S) for the sole purpose of use with the official chocolatey client. By installing, copying, or otherwise using the SOFTWARE PRODUCT(S), you agree to be bound by the terms of this EULA. If you do not agree to any part of the terms of this EULA, DO NOT INSTALL, USE, OR EVALUATE, ANY PART, FILE OR PORTION OF THE SOFTWARE PRODUCT(S).
ALL SOFTWARE PRODUCT(S) are licensed not sold. If you are an individual, you must acquire an individual license for the SOFTWARE PRODUCT(S) from RDS or its authorized resellers. If you are an entity, you must acquire an individual license for each Developer End User and each Build Machine Running the SOFTWARE PRODUCT(S) within your organization from RDS or its authorized resellers. Both Virtual and Physical Build Machines running the SOFTWARE PRODUCT(S) must be counted in the SOFTWARE PRODUCT(S) licenses quantity of the organization.
===================================================================
Commercial / Personal Licensing
===================================================================
Shim Generator (shimgen.exe) is also offered under personal and commercial licenses.
You can learn more about this option by contacting RDS at http://ferventcoder.com

param($installPath, $toolsPath, $package, $project)
$modules = Get-ChildItem $ToolsPath -Filter *.psm1
$modules | ForEach-Object { import-module -name $_.FullName }
@"
========================
Chocolatey
========================
Welcome to Chocolatey, your local machine repository built on the NuGet infrastructure. Chocolatey allows you to install application packages to your machine with the goodness of a #chocolatey #nuget combo.
Application executables get added to the path automatically so you can call them from anywhere (command line/powershell prompt), not just in Visual Studio.
Lets get Chocolatey!
----------
Visual Studio -
----------
Please run Initialize-Chocolatey one time per machine to set up the repository.
If you are upgrading, please remember to run Initialize-Chocolatey again.
After you have run Initiliaze-Chocolatey, you can safely uninstall the chocolatey package from your current Visual Studio solution.
----------
Alternative NuGet -
----------
If you are not using NuGet in Visual Studio, please navigate to the directory with the chocolateysetup.psm1 and run that in Powershell, followed by Initialize-Chocolatey.
Upgrade is the same, just run Initialize-Chocolatey again.
----------
Once you've run initialize or upgrade, you can uninstall this package from the local project without affecting your chocolatey repository.
========================
"@ | Write-Host

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

Discussion for the Chocolatey Package

This discussion is only about Chocolatey and the Chocolatey package. If you
have feedback for Chocolatey, please contact the
google group.

This discussion will carry over multiple versions. If you have a comment about a
particular version, please note that in your comments.

The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you
will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link
on the left side of this page or follow this link to
contact maintainers. If you still hear nothing back, please follow the package triage process.

Tell us what you love about the package or Chocolatey, or tell us what needs improvement.

Share your experiences with the package, or extra configuration or gotchas that
you've found.

If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.