The terms 'software' and 'package' are not used interchangeably in the Chocolatey community. It's important to understand the distinction between them and how they are related.
- Chocolatey - Windows package manager for software management; can also be considered a framework.
- Chocolatey.org - Website for general Chocolatey information including customer testimonials, product comparisons, and pricing.
- Community.chocolatey.org - Website that contains a community maintained package repository. It is important to understand that Chocolatey and the Chocolatey Community Repository (CCR) are not intertwined; they are not the same thing. See the community.chocolatey.org Packages Disclaimer for a better understanding.
- NuGet - Framework and .NET package manager for software libraries. Chocolatey uses the NuGet packaging framework.
- Package - See 'What are Chocolatey Packages?' for more information. Packages may or may not contain the software they represent and the final location of software may or may not be in the package.
- Software - The actual runtime software that a package represents. This can be installed to the system through native installers, from zip/archive files, or by dropping the runtime software directly into the package.
- Native Installer - Actual installers that install software into Programs and Features, "natively" on a Windows machine. This is like MSI, InnoSetup (exe), NSIS (exe), InstallShield (exe/msi), etc. Windows has over 20 different installer formats.
- Install Package - Packages that wrap native installers.
- Portable Package - Packages that use zip or just contain the runtime software. Usually these packages do not require administrative privileges to install or run. See our FAQ about portable applications for more information.
- Extension Package - Packages that provide extensions to Chocolatey's PowerShell module through additional PowerShell modules.
- Template Package - Packages that have packaging templates in them used in package creation. See create your own package templates for more information.
- Metapackage - Packages that only exist to take dependencies on other packages, usually as a way of providing one command to get a complete setup. Some metapackages exist to provide discoverability, such as "git" versus "git.install." The git package just depends on git.install, so running the install for either package will result in the git software being installed on the machine.
- Shimming - a form of redirection where you create a "shim" that redirects input to the actual binary process and shares the output. This also allows applications and tools to be on the "PATH" without cluttering up the PATH environment variable. See our shimming documentation for more information.