Installation in Detail
Chocolatey Package Installation Location
Chocolatey packages are installed to
ChocolateyInstall\lib, but the software could go to various locations, depending on how the package maintainer created the package.
Some packages are installed under
ChocolateyInstall\lib, others - especially packages that are based on Windows installers (.msi files) - install to the default path of the original installer (which is most likely within
There are also packages for which you can set a custom installation path. These packages (like ruby) use the
$env:ChocolateyBinRoot environment variable. If this variable does not exist, it will be created as
To change this behaviour, you can set
$env:ChocolateyBinRoot to an existing folder, e.g.
C:\somestuff. Packages that use the environment variable, will then be installed in the given subfolder, f. ex.
How Chocolatey Works with Programs, Features, and Existing Installs
Many packages use native software installers, so Chocolatey allows the installer itself to handle install/upgrade/uninstall scenarios. This means it can work directly with already installed software just by using
choco install to make
Chocolatey aware of existing software. You can also use a specially crafted install command (skip powershell) to allow choco to install a package without installing the already installed native software.
Chocolatey Install From Location
By default it installs packages from chocolatey.org (the community feed). But you can change this by adding default sources and/or using the
--source switch when running a command.
When you host internal packages, those packages can embed software and/or point to internal shares. You are not subject to software distribution rights like the packages on the community feed, so you can create packages that are more reliable and secure. See What are Chocolatey Packages for more details.