{"id":15022574,"url":"https://github.com/puppetlabs/puppetlabs-chocolatey","last_synced_at":"2025-09-30T06:31:09.458Z","repository":{"id":6053717,"uuid":"53894597","full_name":"puppetlabs/puppetlabs-chocolatey","owner":"puppetlabs","description":"Chocolatey Package Provider for Puppet","archived":false,"fork":true,"pushed_at":"2024-12-18T05:18:06.000Z","size":1102,"stargazers_count":19,"open_issues_count":12,"forks_count":68,"subscribers_count":103,"default_branch":"main","last_synced_at":"2024-12-18T06:30:00.263Z","etag":null,"topics":["hacktoberfest","module","supported"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"chocolatey-archive/puppet-chocolatey","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/puppetlabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null}},"created_at":"2016-03-14T21:53:34.000Z","updated_at":"2024-12-18T05:17:06.000Z","dependencies_parsed_at":"2023-02-17T05:15:19.204Z","dependency_job_id":"99ce7cc0-b654-4ad1-bd9d-89c529a13c0b","html_url":"https://github.com/puppetlabs/puppetlabs-chocolatey","commit_stats":{"total_commits":618,"total_committers":77,"mean_commits":8.025974025974026,"dds":0.6699029126213591,"last_synced_commit":"bc40015f36960b241651953eaa9aa832a183cbcc"},"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppetlabs-chocolatey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppetlabs-chocolatey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppetlabs-chocolatey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppetlabs-chocolatey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/puppetlabs","download_url":"https://codeload.github.com/puppetlabs/puppetlabs-chocolatey/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234712598,"owners_count":18875480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","module","supported"],"created_at":"2024-09-24T19:58:08.090Z","updated_at":"2025-09-30T06:31:04.125Z","avatar_url":"https://github.com/puppetlabs.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# chocolatey\n\n### Chocolatey for Business Now Available!\n\nWe're excited for you to learn more about what's available in the [Business editions](https://chocolatey.org/compare)!\n\n#### Table of Contents\n\n1. [Overview](#overview)\n2. [Module Description - What the chocolatey module does and why it is useful](#module-description)\n    * [Why Chocolatey](#why-chocolatey)\n3. [Setup - The basics of getting started with chocolatey](#setup)\n    * [What chocolatey affects](#what-chocolatey-affects)\n    * [Setup requirements](#setup-requirements)\n    * [Beginning with Chocolatey provider](#beginning-with-chocolatey-provider)\n4. [Usage - Configuration options and additional functionality](#usage)\n5. [Reference](#reference)\n    * [Facts](#facts))\n6. [Limitations - OS compatibility, etc.](#limitations)\n    * [Known Issues](#known-issues)\n7. [Development - Guide for contributing to the module](#development)\n8. [License](#license)\n9. [Attributions](#attributions)\n\n## Overview\n\nThis is a [Puppet](http://docs.puppet.com/) package provider for\n[Chocolatey](https://github.com/chocolatey/chocolatey), which is\nlike apt-get, but for Windows. Check the module's metadata.json for\ncompatible Puppet and Puppet Enterprise versions.\n\n## Module Description\n\nThis is the official module for working with the [Chocolatey](https://chocolatey.org/about)\npackage manager. There are two versions available:\n\n* [puppetlabs/chocolatey](https://forge.puppet.com/puppetlabs/chocolatey)\n   * This is the stable version and is commercially supported by Puppet.\n   * It is slower moving, but offers greater stability and fewer changes.\n* [chocolatey/chocolatey](https://forge.puppet.com/chocolatey/chocolatey)\n   * This is the bleeding edge version and is *not commercially supported* by Puppet.\n   * It keeps up with all the new features, but is not as fully tested.\n\nThis module supports all editions of Chocolatey, including FOSS, [Professional](https://chocolatey.org/compare) and [Chocolatey for Business](https://chocolatey.org/compare).\n\nThis module is able to:\n\n* Install Chocolatey\n* Work with custom location installations\n* Configure Chocolatey\n* Use Chocolatey as a package provider\n\n### Why Chocolatey\n\nChocolatey closely mimics how package managers on other operating systems work. If you can imagine the built-in provider for\nWindows versus Chocolatey, take a look at the use case of installing git:\n\n~~~puppet\n# Using built-in provider\npackage { \"Git version 1.8.4-preview20130916\":\n  ensure    =\u003e installed,\n  source    =\u003e 'C:\\temp\\Git-1.8.4-preview20130916.exe',\n  install_options =\u003e ['/VERYSILENT']\n}\n~~~\n\n~~~puppet\n# Using Chocolatey (set as default for Windows)\npackage { 'git':\n  ensure   =\u003e latest,\n}\n~~~\n\nWith the built-in provider:\n * The [package name must match ***exactly***](https://docs.puppet.com/puppet/latest/reference/resources_package_windows.html#package-name-must-be-the-displayname) the name from installed programs.\n * The package name has issues with unicode characters.\n * The [source must point to the location](https://docs.puppet.com/puppet/latest/reference/resources_package_windows.html#the-source-attribute-is-required) of the executable installer.\n * It cannot `ensure =\u003e latest`. Read about [handling versions and upgrades](https://docs.puppet.com/puppet/latest/reference/resources_package_windows.html#handling-versions-and-upgrades) in the Puppet documentation.\n\nWith Chocolatey's provider:\n * The package name only has to match the name of the package, which can be whatever you choose.\n * The package knows how to install the software silently.\n * The package knows where to get the executable installer.\n * The source is able to specify different Chocolatey feeds.\n * Chocolatey makes `package` more platform agnostic, because it looks exactly like other platforms.\n\nFor reference, read about the [provider features available](https://docs.puppet.com/references/latest/type.html#package-provider-features) from the built-in provider, compared to other package managers:\n\n| Provider   | holdable | install options | installable | package settings | purgeable | reinstallable | uninstall options | uninstallable | upgradeable | versionable | virtual packages |\n|------------|----------|-----------------|-------------|------------------|-----------|---------------|-------------------|---------------|-------------|-------------|------------------|\n| Windows    |          | x               | x           |                  |           |               | x                 | x             |             | x           |                  |\n| Chocolatey | x        | x               | x           |                  |           |               | x                 | x             | x           | x           |                  |\n| apt        | x        | x               | x           |                  | x         |               |                   | x             | x           | x           |                  |\n| yum        |          | x               | x           |                  | x         |               |                   | x             | x           | x           | x                |\n\n## Setup\n\n### What Chocolatey affects\n\nChocolatey affects your system and what software is installed on it, ranging\nfrom tools and portable software, to natively installed applications.\n\n### Setup Requirements\n\nChocolatey requires the following components:\n\n * Powershell v2+ (Installed on most systems by default)\n * .NET Framework v4+\n\n### Beginning with Chocolatey provider\n\nInstall this module via any of these approaches:\n\n* [Puppet Forge](http://forge.puppet.com/chocolatey/chocolatey)\n* git-submodule ([tutorial](http://goo.gl/e9aXh))\n* [librarian-puppet](https://github.com/rodjek/librarian-puppet)\n* [r10k](https://github.com/puppetlabs/r10k)\n\n## Usage\n\n### Manage Chocolatey installation\n\nEnsure Chocolatey is installed and configured:\n\n~~~puppet\ninclude chocolatey\n~~~\n\n#### Override default Chocolatey install location\n\n~~~puppet\nclass {'chocolatey':\n  choco_install_location =\u003e 'D:\\secured\\choco',\n}\n~~~\n\n**NOTE:** This will affect suitability on first install. There are also\nspecial considerations for `C:\\Chocolatey` as an install location, see\n[`choco_install_location`](#choco_install_location) for details.\n\n#### Use an internal chocolatey.nupkg for Chocolatey installation\n\n~~~puppet\nclass {'chocolatey':\n  chocolatey_download_url         =\u003e 'https://internalurl/to/chocolatey.nupkg',\n  use_7zip                        =\u003e false,\n  choco_install_timeout_seconds   =\u003e 2700,\n}\n~~~\n\n#### Use a file chocolatey.0.9.9.9.nupkg for installation\n\n~~~puppet\nclass {'chocolatey':\n  chocolatey_download_url         =\u003e 'file:///c:/location/of/chocolatey.0.9.9.9.nupkg',\n  use_7zip                        =\u003e false,\n  choco_install_timeout_seconds   =\u003e 2700,\n}\n~~~\n\n#### Specify the version of chocolatey by class parameters\n\n~~~puppet\nclass {'chocolatey':\n  chocolatey_download_url         =\u003e 'file:///c:/location/of/chocolatey.0.9.9.9.nupkg',\n  use_7zip                        =\u003e false,\n  choco_install_timeout_seconds   =\u003e 2700,\n  chocolatey_version              =\u003e '0.9.9.9',\n}\n~~~\n\n\n#### Log chocolatey bootstrap installer script output\n\n~~~puppet\nclass {'chocolatey':\n  log_output              =\u003e true,\n}\n~~~\n\n#### Install chocolatey using a proxy server\n\n~~~puppet\nclass {'chocolatey':\n  install_proxy =\u003e 'http://proxy.megacorp.com:3128',\n}\n~~~\n\n### Configuration\n\nIf you have Chocolatey 0.9.9.x or above, you can take advantage of configuring different aspects of Chocolatey.\n\n#### Sources Configuration\n\nYou can specify sources that Chocolatey uses by default, along with priority.\n\nRequires Chocolatey v0.9.9.0+.\n\n##### Disable the default community repository source\n\n~~~puppet\nchocolateysource {'chocolatey':\n  ensure =\u003e disabled,\n}\n~~~\n\n##### Set a priority on a source\n\n~~~puppet\nchocolateysource {'chocolatey':\n  ensure   =\u003e present,\n  location =\u003e 'https://chocolatey.org/api/v2',\n  priority =\u003e 1,\n}\n~~~\n\n##### Add credentials to a source\n\n~~~puppet\nchocolateysource {'sourcename':\n  ensure   =\u003e present,\n  location =\u003e 'https://internal/source',\n  user     =\u003e 'username',\n  password =\u003e 'password',\n}\n~~~\n\n**NOTE:** Chocolatey encrypts the password in a way that is not\nverifiable. If you need to rotate passwords, you cannot use this\nresource to do so unless you also change the location, user, or priority\n(because those are ensurable properties).\n\n**NOTE:** The sensitive `password` can be deferred using the [Deferred](https://www.puppet.com/docs/puppet/7/template_with_deferred_values.html) function on Puppet Master and enable to execute on agent.\n\n~~~ puppet\nchocolateysource {'sourcename':\n  ensure   =\u003e present,\n  location =\u003e 'https://internal/source',\n  user     =\u003e 'username',\n  password =\u003e Deferred('sprintf', ['password']),\n}\n\n~~~\n\n#### Features Configuration\n\nYou can configure features that Chocolatey has available. Run\n`choco feature list` to see the available configuration features.\n\nRequires Chocolatey v0.9.9.0+.\n\n##### Enable Auto Uninstaller\n\nUninstall from Programs and Features without requiring an explicit\nuninstall script.\n\n~~~puppet\nchocolateyfeature {'autouninstaller':\n  ensure =\u003e enabled,\n}\n~~~\n\n##### Disable Use Package Exit Codes\n\nRequires 0.9.10+ for this feature.\n\n**Use Package Exit Codes** - Allows package scripts to provide exit codes. With\nthis enabled, Chocolatey uses package exit codes for exit when\nnon-zero (this value can come from a dependency package). Chocolatey\ndefines valid exit codes as 0, 1605, 1614, 1641, 3010. With this feature\ndisabled, Chocolatey exits with a 0 or a 1 (matching previous behavior).\n\nNote that this behavior _may_ cause Puppet to think that the run has failed.\nWe advise that you leave this at the default setting or disable it. Do _not_ enable it.\n\n~~~puppet\nchocolateyfeature {'usepackageexitcodes':\n  ensure =\u003e disabled,\n}\n~~~\n\n##### Enable Virus Check\n\nRequires 0.9.10+ and [Chocolatey Pro / Business](https://chocolatey.org/compare)\nfor this feature.\n\n**Virus Check** - Performs virus checking on downloaded files. *(Licensed versions only.)*\n\n~~~puppet\nchocolateyfeature {'viruscheck':\n  ensure =\u003e enabled,\n}\n~~~\n\n##### Enable FIPS Compliant Checksums\n\nRequires 0.9.10+ for this feature.\n\n**Use FIPS Compliant Checksums** - Ensures checksumming done by Chocolatey uses\nFIPS compliant algorithms. *Not recommended unless required by FIPS Mode.*\nEnabling on an existing installation could have unintended consequences\nrelated to upgrades or uninstalls.\n\n~~~puppet\nchocolateyfeature {'usefipscompliantchecksums':\n  ensure =\u003e enabled,\n}\n~~~\n\n#### Config configuration\n\nYou can configure config values that Chocolatey has available. Run\n`choco config list` to see the config settings available (just the\nconfig settings section).\n\nRequires Chocolatey v0.9.10.0+.\n\n##### Set cache location\n\nThe cache location defaults to the TEMP directory. You can set an explicit directory\nto cache downloads to instead of the default.\n\n~~~puppet\nchocolateyconfig {'cachelocation':\n  value  =\u003e \"c:\\\\downloads\",\n}\n~~~\n\n##### Unset cache location\n\nRemoves cache location setting, returning the setting to its default.\n\n~~~puppet\nchocolateyconfig {'cachelocation':\n  ensure =\u003e absent,\n}\n~~~\n\n##### Use an explicit proxy\n\nWhen using Chocolatey behind a proxy, set `proxy` and optionally\n`proxyUser` and `proxyPassword`.\n\n**NOTE:** The `proxyPassword` value is not verifiable.\n\n~~~puppet\nchocolateyconfig {'proxy':\n  value  =\u003e 'https://someproxy.com',\n}\n\nchocolateyconfig {'proxyUser':\n  value  =\u003e 'bob',\n}\n\n# not verifiable\nchocolateyconfig {'proxyPassword':\n  value  =\u003e 'securepassword',\n}\n~~~\n\n**NOTE:** The sensitive `value` can be deferred using the [Deferred](https://www.puppet.com/docs/puppet/7/template_with_deferred_values.html) function on Puppet Master and enable to execute on agent.\n\n~~~ puppet\nchocolateyconfig {'proxyPassword':\n  value  =\u003e Deferred('sprintf', ['securepassword']),\n}\n\n~~~\n#### Set Chocolatey as Default Windows Provider\n\nIf you want to set this provider as the site-wide default,\nadd to your `site.pp`:\n\n~~~puppet\nif $::kernel == 'windows' {\n  Package { provider =\u003e chocolatey, }\n}\n\n# OR\n\ncase $operatingsystem {\n  'windows': {\n    Package { provider =\u003e chocolatey, }\n  }\n}\n~~~\n\n### Packages\n\n#### With all options\n\n~~~puppet\npackage { 'notepadplusplus':\n  ensure            =\u003e installed|latest|'1.0.0'|'\u003e=1.0 \u003c2.0'|absent,\n  provider          =\u003e 'chocolatey',\n  install_options   =\u003e ['-pre','-params','\"','param1','param2','\"'],\n  uninstall_options =\u003e ['-r'],\n  source            =\u003e 'https://myfeed.example.com/api/v2',\n  package_settings  =\u003e { 'verbose' =\u003e true, 'log_output' =\u003e true, },\n}\n~~~\n\n* Supports `installable` and `uninstallable`.\n* Supports `versionable` so that `ensure =\u003e  '1.0'` works.\n* Supports `version_range` so that `ensure =\u003e  '\u003e=1.0 \u003c2.0'` works.\n* Supports `upgradeable`.\n* Supports `latest` (checks upstream), `absent` (uninstall).\n* Supports `install_options` for pre-release, and other command-line options.\n* Supports `uninstall_options` for pre-release, and other command-line options.\n* Supports `holdable`, requires Chocolatey v0.9.9.0+.\n* Uses package_settings to pass flags to the chocolatey provider.\n\n#### Simple install\n\n~~~puppet\npackage { 'notepadplusplus':\n  ensure   =\u003e installed,\n  provider =\u003e 'chocolatey',\n}\n~~~\n\n#### To always ensure using the newest version available\n\n~~~puppet\npackage { 'notepadplusplus':\n  ensure   =\u003e latest,\n  provider =\u003e 'chocolatey',\n}\n~~~\n\n#### To ensure a specific version\n\n~~~puppet\npackage { 'notepadplusplus':\n  ensure   =\u003e '6.7.5',\n  provider =\u003e 'chocolatey',\n}\n~~~\n\n#### To ensure a version range\n\n~~~puppet\npackage { 'notepadplusplus':\n  ensure   =\u003e '\u003e=6.7.5 \u003c7.0',\n  provider =\u003e 'chocolatey',\n}\n~~~\n\n#### To specify custom source\n\n~~~puppet\npackage { 'notepadplusplus':\n  ensure   =\u003e '6.7.5',\n  provider =\u003e 'chocolatey',\n  source   =\u003e 'C:\\local\\folder\\packages',\n}\n~~~\n\n~~~puppet\npackage { 'notepadplusplus':\n  ensure   =\u003e '6.7.5',\n  provider =\u003e 'chocolatey',\n  source   =\u003e '\\\\unc\\source\\packages',\n}\n~~~\n\n~~~puppet\npackage { 'notepadplusplus':\n  ensure   =\u003e '6.7.5',\n  provider =\u003e 'chocolatey',\n  source   =\u003e 'https://custom.nuget.odata.feed/api/v2/',\n}\n~~~\n\n~~~puppet\npackage { 'notepadplusplus':\n  ensure   =\u003e '6.7.5',\n  provider =\u003e 'chocolatey',\n  source   =\u003e 'C:\\local\\folder\\packages;https://chocolatey.org/api/v2/',\n}\n~~~\n\n#### Install options with spaces\n\nSpaces in arguments **must always** be covered with a separation. Shown\nbelow is an example of how you configure `-installArgs \"/VERYSILENT /NORESTART\"`.\n\n~~~puppet\npackage {'launchy':\n  ensure          =\u003e installed,\n  provider        =\u003e 'chocolatey',\n  install_options =\u003e ['-override', '-installArgs', '\"', '/VERYSILENT', '/NORESTART', '\"'],\n}\n~~~\n\n#### Install options with quotes or spaces\n\nThe underlying installer may need quotes passed to it. This is possible, but not\nas intuitive. The example below covers passing `/INSTALLDIR=\"C:\\Program Files\\somewhere\"`.\n\nFor this to be passed through with Chocolatey, you need a set of double\nquotes surrounding the argument and two sets of double quotes surrounding the\nitem that must be quoted (see [how to pass/options/switches](https://github.com/chocolatey/choco/wiki/CommandsReference#how-to-pass-options--switches)). This makes the\nstring look like `-installArgs \"/INSTALLDIR=\"\"C:\\Program Files\\somewhere\"\"\"` for\nproper use with Chocolatey.\n\nThen, for Puppet to handle that appropriately, you must split on ***every*** space.\nYes, on **every** space you must split the string or the result comes out\nincorrectly. This means it will look like the following:\n\n~~~puppet\ninstall_options =\u003e ['-installArgs',\n  '\"/INSTALLDIR=\"\"C:\\Program', 'Files\\somewhere\"\"\"']\n~~~\n\nMake sure you have all of the right quotes - start it off with a single double\nquote, then two double quotes, then close it all by closing the two double\nquotes and then the single double quote or a possible three double quotes at\nthe end.\n\n~~~puppet\npackage {'mysql':\n  ensure          =\u003e latest,\n  provider        =\u003e 'chocolatey',\n  install_options =\u003e ['-override', '-installArgs',\n    '\"/INSTALLDIR=\"\"C:\\Program', 'Files\\somewhere\"\"\"'],\n}\n~~~\n\nYou can split it up a bit for readability if it suits you:\n\n~~~puppet\npackage {'mysql':\n  ensure          =\u003e latest,\n  provider        =\u003e 'chocolatey',\n  install_options =\u003e ['-override', '-installArgs', '\"'\n    '/INSTALLDIR=\"\"C:\\Program', 'Files\\somewhere\"\"',\n    '\"'],\n}\n~~~\n\n**Note:** The above is for Chocolatey v0.9.9+. You may need to look for an\nalternative method to pass args if you have 0.9.8.x and below.\n\n#### A warning about secrets in install_options\n\nThere is no guarantee that secrets in `install_options` will not show up in debug runs of either `puppet agent` or `puppet apply` calls.\n\nThis is another reason to _not_ set your production runs to debug mode.\n\nHowever, this information is not written to puppetdb or any other Puppet logs.\n\nIt **is** written to the Chocolatey log on each machine unless you have C4B and use the `--package-parameters-sensitive` or `--install-arguments-sensitive` Chocolatey parameters, which will redact specified values from the Chocolatey log.\n\nFor more information on these Chocolatey parameters, see the Chocolatey reference documentation on the [install command](https://chocolatey.org/docs/commands-install#options-and-switches) and the [upgrade command](https://chocolatey.org/docs/commands-upgrade#options-and-switches).\n\nIf you need to include a secret in your `install_options`, do not run in debug mode in production and use C4B and the `--package-parameters-sensitive` or `--install-arguments-sensitive` Chocolatey parameter.\n\n#### Passing Flags With Package Settings\n\nYou can pass flags to the chocolatey provider using package_settings.  You\nmight want to do this in a default:\n\n~~~puppet\n    Package {\n      package_settings =\u003e { 'verbose' =\u003e true, 'log_output' =\u003e true, },\n    }\n~~~\n\n* \"verbose\" causes calls to chocolatey to output information about what they're\n  *about* to do; this is because some things, in particular \"ensure =\u003e latest\",\n  are pretty slow, which can lead to long periods where Puppet appears to be\n  doing nothing.\n  * When Chocolatey is version `0.10.4` or later and \"Verbose\" is not specified as `true` Chocolatey will be run with the `--no-progress` parameter, limiting the erroneous output of download information to the logs.\n* \"log_output\" causes the output of chocolatey upgrades and installs to be\n  shown.\n\n## Reference\n\nFor information on classes and types, see [REFERENCE.md](https://github.com/puppetlabs/puppetlabs-chocolatey/blob/main/REFERENCE.md). For information on facts, see below.\n\n### Facts\n\n* `chocolateyversion` - The version of the installed Chocolatey client (could also be informationally provided by class parameter `chocolatey_version`).\n* `choco_install_path` - The location of the installed Chocolatey client (could also be provided by class parameter `choco_install_location`).\n\n## Limitations\n\n* **The module is only suppported on Windows.** For an extensive list of supported operating systems, see [metadata.json](https://github.com/puppetlabs/puppetlabs-chocolatey/blob/main/metadata.json)\n* If you override an existing install location of Chocolatey using `choco_install_location =\u003e` in the Chocolatey class, it does not bring any of the existing packages with it. You will need to handle that through some other means.\n* Overriding the install location will also not allow Chocolatey to be configured or install packages on the same run that it is installed on. See [`choco_install_location`](#choco_install_location) for details.\n\n### Known Issues\n\n* This module doesn't support side by side scenarios.\n* This module may have issues upgrading Chocolatey itself using the package resource.\n* If .NET 4.0 is not installed, it may have trouble installing Chocolatey. Chocolatey version 0.9.9.9+ helps alleviate this issue.\n* If there is an error in the installer (`InstallChocolatey.ps1.erb`), it may not show as an error. This may be an issue with the PowerShell provider and is still under investigation.\n\n## License\n\nThis codebase is licensed under the Apache2.0 licensing, however due to the nature of the codebase the open source dependencies may also use a combination of [AGPL](https://opensource.org/license/agpl-v3/), [BSD-2](https://opensource.org/license/bsd-2-clause/), [BSD-3](https://opensource.org/license/bsd-3-clause/), [GPL2.0](https://opensource.org/license/gpl-2-0/), [LGPL](https://opensource.org/license/lgpl-3-0/), [MIT](https://opensource.org/license/mit/) and [MPL](https://opensource.org/license/mpl-2-0/) Licensing.\n\n## Development\n\nAcceptance tests for this module leverage [puppet_litmus](https://github.com/puppetlabs/puppet_litmus).\nTo run the acceptance tests follow the instructions [here](https://github.com/puppetlabs/puppet_litmus/wiki/Tutorial:-use-Litmus-to-execute-acceptance-tests-with-a-sample-module-(MoTD)#install-the-necessary-gems-for-the-module).\nYou can also find a tutorial and walkthrough of using Litmus and the PDK on [YouTube](https://www.youtube.com/watch?v=FYfR7ZEGHoE).\n\nIf you run into an issue with this module, or if you would like to request a feature, please [file a ticket](https://github.com/puppetlabs/puppetlabs-chocolatey/issues).\nEvery Monday the Puppet IA Content Team has [office hours](https://puppet.com/community/office-hours) in the [Puppet Community Slack](http://slack.puppet.com/), alternating between an EMEA friendly time (1300 UTC) and an Americas friendly time (0900 Pacific, 1700 UTC).\n\nIf you have problems getting this module up and running, please [contact Support](http://puppetlabs.com/services/customer-support).\n\nIf you submit a change to this module, be sure to regenerate the reference documentation as follows:\n\n```bash\npuppet strings generate --format markdown --out REFERENCE.md\n```\n\n## Attributions\n\nA special thanks goes out to [Rich Siegel](https://github.com/rismoney) and [Rob Reynolds](https://github.com/ferventcoder) who wrote the original\nprovider and continue to contribute to the development of this provider.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuppetlabs%2Fpuppetlabs-chocolatey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpuppetlabs%2Fpuppetlabs-chocolatey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuppetlabs%2Fpuppetlabs-chocolatey/lists"}