Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Automatic and manual nuget-based packages for management by Chocolatey.

Chocolatey is a package manager like apt-get or yum; designed for a command-line interface for management and installing MSI, EXE, and portable user applications. Nuget is mainly designed for installing developer libraries.

Chocolatey package API ODATA feed

Presentation resources (read the Odata feed and presents it to you in various methods and formats)

Chocolatey Wiki

Chocolatey Frequently Asked Questions (FAQ)

Folder organization

├── automatic
│   ├── _output
│   │   ├── andy    
│   │   │   ├── 0.43.2    
│   │   │   │   ├── tools
│   │   │   │   │   ├── chocolateyInstall.ps1
│   │   │   │   │   └── chocolateyUninstall.ps1
│   │   │   │   ├── andy.0.43.2.nupkg
│   │   │   │   └── andy.nuspec    
│   │   │   └── 0.43.3  
│   │   └── bitcoin 
│   │   │   ...
│   │   └── zsnes
│   ├── andy
│   │   ├── tools
│   │   │   ├── chocolateyInstall.ps1
│   │   │   └── chocolateyUninstall.ps1
│   │   └── andy.nuspec
│   ├── bitcoin
│   │   ...
│   └── zsnes
├── icons
│   ├── andy.png
│   ├── bitcoin.svg
│   │   ...
│   └── zsnes.png
├── ketarin
│   ├── andy.xml
│   ├── bitcoin.xml
│   │   ...
│   └── zsnes.xml
├── licenses
└── manual
    └── hpusbdisk
        ├── tools
        │   ├── chocolateyInstall.ps1    
        │   └── HPUSBDisk.exe    
        ├── hpusbdisk.
        └── hpusbdisk.nuspec


Source files typically containing variable values

Package manifest: Nuspec (nuspec)
Install and uninstall scripts: PowerShell (ps1)

Source files typically not containing variable values

GUI automation: AutoHotKey (ahk) or AutoIt (au3)

Automation process
  1. scraping HTTP with regular expressions using ketarin, then
  2. populating a reserved layout to XML and powershell install/uninstall/setup scripts with chocopkgupdater or other scripts, and finally
  3. packing the generated source files into a zip file, saved as a nupkg
  4. pushing the nupkg file to chocolaty feed for moderation

Each sub-directory is equivalent to the application ID, otherwise known as the Application Name in Ketarin and stored in Ketarin's variable {appname}

See ketarin\ for more information about automatically updating packages from this repo.


Icons pointed to in the nuspec manifest file by XML tag <iconUrl>. These URLs are shown as the package graphic on for the respective package.

e.g. the icon on is linked to and is configured in gtk-runtime.nuspec by XML tag <iconUrl> when nuget.exe push gtk-runtime.1.2.3.nupkg -Source (performed without user intervention by chocolateypackageupdater).

The URL that should be used should not point directly to the file. Instead, use this service


Limited use cases where the legal user agreements to terms of usage of the software for packages being installed is not available or not in reliably published way for Internet access.

If applicable, this location would be pointed to by <licenseUrl>.

However, most all packages point directly to the LICENSE or COPYING file if the source code is publicly available. Otherwise, the <licenseUrl> points to the licensing terms as published on a publicly available web page.


Packages that must have their nuspec and powershell control scripts manually edited (text editor), packaged (cpack) and pushed (cpush).

Only packages that never get updated should be here.

Note that while Nupkg files may contain any binary file, typically, they only contain essential wrapper information explaining where the install program is located and how to install the program. However, since packages in this folder may no longer have an official published source, they may be more likely to contain the executable or install file(s) directly within the zipped nupkg file.

Others' repositories

Package name -- Package id

  • Chocolatey is cross-platform.
  • Package managers are quite mature in Linux relative to Windows.

For ease of transition between OS', it is recommended to use the same ID as used in other package managers when possible.

Package formats

  • .apk — Android
  • .appx, .appxbundle — used by Microsoft for packaging Windows 8, Windows 8.1, and Windows Phone 8.1 applications.[2]
  • .deb — Used by Debian and its derivatives, such as Ubuntu, Xubuntu, and CrunchBang Linux.[3]
  • ebuild — Used by Gentoo Linux.[4]
  • PISI — Used by Pardus and derivatives such as Pardus-Anka and Pisi Linux.[citation needed]
  • .pkg - Used by iPhone, PlayStation 3, Solaris (operating system).[citation needed]
  • PUP and PET — used by Puppy Linux - click and install package type. OS can be installed to a flash drive for portability and will bring apps with it.[5]
  • QPKG — Used by QNAP NAS devices.[6]
  • .rpm — Used by Red Hat Enterprise Linux, Fedora, derivatives such as CentOS and SUSE Linux Enterprise Server.[7]
  • SLP — Used by Stampede Linux.[citation needed]
  • .pkg.tar.xz — Used by Arch Linux's Pacman package manager.[8]
  • .tgz, .txz, .tbz, .tlz — Used by Slackware.[9]

Package lists


These packages are a community effort. Your help is appreciated!

Reporting broken/outdated packages

If packages from this repository fail to install or a new version has been released by the software vendor for a particular package, please report it in any or all of the following ways:

Github issue: Disqus comment on the package's gallery page: Send an email on the package's gallery page:

Broken packages

If the package fails to install or uninstall via choco, please include debug information from the console:
choco install PKGID --yes --verbose --debug

Outdated packages

If the package is not up to date, please include the following if possible:

  • latest version number
  • release date
  • URL to the install binary

Submitting fixes

This repository uses Git for management. If you don't know what Git is, or don't want to create a local copy of this repository, GitHub allows you to edit text files and publish back changes to this repository entirely from their website. For example, to fix a spelling error in this file:

  1. Sign up for a free GitHub account
  2. Fork this repository
  3. Make changes to your forked repository
  4. Commit (save) changes to your repository
    For absolute beginners, only make edits to a single file and commit to the master branch. Note that you can make multiple commits to any one or multiple files and they will all show up in the Pull request which is why you want to use branching. That way you group related changes together. For example, if you see a common spelling error in many files, you may want to change all those text files containing just that spelling error under a specific branch like "Spelling-error-01". Name your branch whatever makes sense to you that is related to the change you are making.
  5. Create a new Pull Request (PR)

Note that GitHub also has its own text paste bin at

For more help with using GitHub, see


chocolateynuget packages published on




No releases published


No packages published
You can’t perform that action at this time.