How to install chocolatey
How to install chocolatey
Installing Chocolatey
Choose Your Installation Method
(You can always change this later!)
Requirements
That’s it! All you need is choco.exe (that you get from the installation scripts) and you are good to go! No Visual Studio required.
Installing a Particular Version of Chocolatey
Set the following environment variable prior to install:
In PowerShell, it looks like this:
Use Windows Built-In Compression Instead of Downloading 7zip
Set the following environment variable prior to install:
In PowerShell, it looks like this:
Installing to a Different Location
Basic Chocolatey Install
Chocolatey installs in seconds. You are just a few steps from running choco right now!
Copy the text specific to your command shell below.
Install with cmd.exe
Run the following command:
Install with powershell.exe
With PowerShell, there is an additional step. You must ensure Get-ExecutionPolicy is not Restricted. We suggest using Bypass to bypass the policy to get things installed or AllSigned for quite a bit more security.
Now run the following command:
Install from PowerShell v3+
With PowerShell, there is an additional step or two. You must ensure Get-ExecutionPolicy is not Restricted. We suggest using Bypass to bypass the policy to get things installed or AllSigned for quite a bit more security.
Completely Offline Install
Click on Download to download that version’s nupkg file.
Then you would run a script similar to the below to address that local install. If it is on a repository somewhere, you will need to enhance the below script to get that file (the Chocolatey Puppet provider install script shows that).
Install with Puppet
NOTE: If you have the licensed edition, see Setting up Licensed Edition with Puppet instead. This only additionally contains some package examples and setting up tab completion.
Here’s an example of setting Chocolatey up with Puppet that sets up and configures Chocolatey, sets up an internal package repository, and shows setting up the licensed edition and ensuring some packages.
Install using PowerShell from cmd.exe
This is the best method if you want to repeat it or include it in source control. It requires no change to your existing PowerShell to allow for remote unsigned scripts.
Create a file named installChocolatey.cmd with the following:
If you prefer to have the install.ps1 file already, comment out the download line in the batch file and download the install.ps1 from chocolatey.org and save it as install.ps1 next to the installChocolatey.cmd file.
Run installChocolatey.cmd from an elevated cmd.exe command prompt and it will install the latest version of Chocolatey. You can not run this from powershell.exe without making changes to your execution policy.
Install using NuGet Package Manager
When you have Visual Studio 2010+ and the NuGet extension installed (pre-installed on any newer versions of Visual Studio), you can simply type the following three commands and you will have Chocolatey installed on your machine.
Install-Package chocolatey
Initialize-Chocolatey
Uninstall-Package chocolatey
Install using NuGet.exe from PowerShell
You can also use NuGet command line to download Chocolatey:
Once you download it, open PowerShell (remote unsigned), navigate to the tools folder and run:
Install Downloaded NuGet Package from PowerShell
Installing Chocolatey
Choose Your Installation Method
(You can always change this later!)
Requirements
That’s it! All you need is choco.exe (that you get from the installation scripts) and you are good to go! No Visual Studio required.
Installing a Particular Version of Chocolatey
Set the following environment variable prior to install:
In PowerShell, it looks like this:
Use Windows Built-In Compression Instead of Downloading 7zip
Set the following environment variable prior to install:
In PowerShell, it looks like this:
Installing to a Different Location
Basic Chocolatey Install
Chocolatey installs in seconds. You are just a few steps from running choco right now!
Copy the text specific to your command shell below.
Install with cmd.exe
Run the following command:
Install with powershell.exe
With PowerShell, there is an additional step. You must ensure Get-ExecutionPolicy is not Restricted. We suggest using Bypass to bypass the policy to get things installed or AllSigned for quite a bit more security.
Now run the following command:
Install from PowerShell v3+
With PowerShell, there is an additional step or two. You must ensure Get-ExecutionPolicy is not Restricted. We suggest using Bypass to bypass the policy to get things installed or AllSigned for quite a bit more security.
Completely Offline Install
Click on Download to download that version’s nupkg file.
Then you would run a script similar to the below to address that local install. If it is on a repository somewhere, you will need to enhance the below script to get that file (the Chocolatey Puppet provider install script shows that).
Install with Puppet
NOTE: If you have the licensed edition, see Setting up Licensed Edition with Puppet instead. This only additionally contains some package examples and setting up tab completion.
Here’s an example of setting Chocolatey up with Puppet that sets up and configures Chocolatey, sets up an internal package repository, and shows setting up the licensed edition and ensuring some packages.
Install using PowerShell from cmd.exe
This is the best method if you want to repeat it or include it in source control. It requires no change to your existing PowerShell to allow for remote unsigned scripts.
Create a file named installChocolatey.cmd with the following:
If you prefer to have the install.ps1 file already, comment out the download line in the batch file and download the install.ps1 from chocolatey.org and save it as install.ps1 next to the installChocolatey.cmd file.
Run installChocolatey.cmd from an elevated cmd.exe command prompt and it will install the latest version of Chocolatey. You can not run this from powershell.exe without making changes to your execution policy.
Install using NuGet Package Manager
When you have Visual Studio 2010+ and the NuGet extension installed (pre-installed on any newer versions of Visual Studio), you can simply type the following three commands and you will have Chocolatey installed on your machine.
Install-Package chocolatey
Initialize-Chocolatey
Uninstall-Package chocolatey
Install using NuGet.exe from PowerShell
You can also use NuGet command line to download Chocolatey:
Once you download it, open PowerShell (remote unsigned), navigate to the tools folder and run:
Install Downloaded NuGet Package from PowerShell
Setup
This document is for Version 2 of the Quick Deployment Environment. If you’re using an older version of QDE, please refer to the QDEv1 Setup page.
This document contains instructions for importing the QuickDeploy appliance/VM, or creating a VM and attaching the QuickDeploy disk image to it. You will receive a download link via email for an archive of the VM image. Once you have this downloaded, it will be ready for extraction and import into your environment.
Please follow these steps in exact order. These will be very important later when you are trying to use the environment.
Step 0: Setup Considerations
Keep the following points in mind during initial setup:
Step 0.1: Changing the Hostname
Renaming the QDE host needs to be completed prior to ANYTHING that is done on the QDE box. It is recommended to use the default hostname unless you really need to change it.
Please contact support if you run into issues.
If you rename the QDE Environment after running the initial setup scripts, there are some additional changes you’ll need to make:
Step 1: Import the Virtual Environment
Choose one of the following methods for what your hypervisor environment supports.
Platform: Azure
We now recommend using the Chocolatey for Business Azure Environment. Please refer to the link above for steps to quickly deploy a Chocolatey for Business environment into Azure.
Platform: Hyper-V
Hyper-V Appliance
Download zip archive containing the Hyper-V VM directory structure, and unzip it to the directory you wish to store it in.
Open Hyper-V Manager, and select Import Virtual Machine from the right sidebar (or Action menu), and choose the folder you extracted from the above archive (e.g. ChocoServer).
Increase the size of the VHD, for example, to 500GB. Increase to what you feel comfortable with, keeping in mind QDE is in part a repository server, and will require a fair amount of space to operate for any length of time if you’re utilizing that.
See it in Action
Hyper-V VHD
Download the VHD from provided link, and unzip it to the directory you wish to store it in.
Increase the size of the VHD, for example, to 500GB. Increase to what you feel comfortable with, keeping in mind QDE is in part a repository server, and will require a fair amount of space to operate for any length of time if you’re utilizing that.
Open Hyper-V Manager.
Create a new VM.
If prompted, choose a Generation 1 virtual machine.
Set startup memory to 8192 MB (you can change this later if you need to).
When asked to create a new disk or use an existing one, select Use existing virtual disk and browse to the VHD you unzipped in Step 1.
Adjust the hardware specifications of the VM. For a performant system, the following are recommended:
See it in Action
Platform: VMware / Other (OVF Template)
Upon first booting the environment in ESXi with the HTML modal console control, the mouse will not be available to the VM. We recommend you use either RDP or VMRC (VMWare Remote Console) to access the VM initially and install VMWare Tools. Once VMWare Tools is installed, the mouse and other advanced VM functionality will be made available to the VM.
Platform: VMware (VMDK file)
❗ IMPORTANT: [vCenter/ESX/ESXi] You must select an IDE controller under the «Controller Location» setting of the disk. If you leave the controller as SCSI (default), your VM will not boot.
📝 NOTE likely you will need to allocate the additional space to the C drive.
See it in Action
Platform: Other
If your hypervisor supports importing from an OVA or OVF, you should be able to import that image in most cases. Otherwise, or if you run into issues doing that, we recommend downloading the VMDK file and converting it to a format supported by your hypervisor.
Please ensure you know what you’re doing before attempting this. We can only support the hypervisors listed here, and will not be able to provide assistance in conversion and ensuring the QDE image works in your environment. However, once you have the image running in your hypervisor, our support team will be happy to assist you however they can.
Step 2: Other Considerations
Step 2.1: DNS Settings
The QDE environment is configured by default to use DHCP for easier initial setup. You will likely need to reconfigure it with a static IP address depending on your organization’s policies. Also check the additional high level requirements for CCM if making changes to DNS settings.
Step 3: Virtual Environment Setup
If you have an existing corporate environment you will be servicing with the QDE VM, be sure to perform your organization-specific initial configuration before running setup scripts.
Step 3.1: Expand Disk Size
On the machine, please check the size of the C drive. If the volume needs to be expanded, expand it to the space you’ve allocated for the machine by running this command in an administrative PowerShell console:
Alternatively, you can use the Disk Management utility to expand the disk, if you prefer.
Step 3.2: Add Chocolatey License File
In the Quick Deployment Desktop Readme, you will be instructed to copy your chocolatey.license.xml to the VM. You should already have been given a license file prior to downloading QDE. We generally recommend you copy the file into the VM directly, if possible.
If you find that you need to copy the file contents in order to get the license file text into a new file in QDE, the file format and name is extremely important to get right. If you don’t save the file in UTF-8 encoding or there is extra whitespace, Chocolatey will consider it invalid.
Please contact support if you need help here.
Step 3.3: Follow README instructions to finish environment setup
On the desktop of your QDE VM, there is a Readme.html file, that will guide you through the rest of the setup process once you are logged in. A version of this readme file can be found in the Quick Deployment Desktop Readme.
The online version is likely more up to date than the ReadMe you will find on the desktop (not including redacted items like credentials). If there are conflicts between the desktop readme and what you see online, prefer the online version.
When running the Set-QDEnvironment script ensure you are logged into the QDE VM with the local admininistrator account. This is necessary for SQL to work properly initially.
Step 3.4: Database Password Changes (Optional)
The database credentials are currently pre-set. If you would like to change the credentials associated with the database, you will need to follow these steps.
Change the database access credentials
Reinstall the chocolatey-management-service package
Reinstall the chocolatey-management-web package
Step 4: Firewall Changes
Step 5: Install and Configure Chocolatey on Clients
How do I upgrade QDE?
While we will continue to make improvements to the QDE, there is no upgrade path for the Virtual Machine itself. You can choose to start over with a newer version, but that would mean going through the entire setup process from the beginning once again.
Instead, it is much easier to upgrade the components individually, and that is how we recommend upgrading aspects of QDE. Should you want to upgrade say Central Management, you can follow the Central Management steps for upgrade at Upgrade Central Management.
Should I upgrade Jenkins?
The Jenkins package in QDE is pinned at version 2.222.4; this is the latest version we have currently tested. An upgrade is possible, however we recommend you approach this with caution for the time being. Upgrading to a newer version via the typical Jenkins installer package requires some additional work due to the way Jenkins handles upgrades with their installer.
Upgrading through the Web UI
Upgrading through the Web UI is the simpler way to go, and doesn’t seem to carry any of the complications that can arise when upgrading via their MSI installer. When an upgrade is available, Jenkins will show a new notification that looks like this when clicked:
To upgrade via the web UI:
If you would like to upgrade Jenkins to a newer version using the installer, please refer to Jenkins’ Upgrade Guide. Some or all of the complexities in the upgrade process will likely be made automatic in the Chocolatey package as we’re able to test and verify that the upgrade path works. Until then, approach with caution and follow the Jenkins documentation closely when attempting an upgrade.
What are the requirements for installing Chocolatey on a TLS1.2 hardened endpoint using ClientSetup.ps1 script?
The following TLS Ciphers will need to be applied:
In addition, the following registry keys will need to be applied:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v2.0.50727]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319]
The following PowerShell code will set these items appropriately:
Getting Started
What is Chocolatey?
Write your deployment once for any software, then deploy it with any solution everywhere you have Windows.
You know those massively complicated, complex, and expensive software management solutions where you typically need to buy more machines and hire consultants to help you configure/maintain them? Yeah, that’s not us. We believe in simple solutions to complex problems. Software on Windows is already complex enough, we’ve designed our tools to be able to be simple to use, extremely powerful, flexible to fit nearly any situation, to work with your existing infrastructure, and for scale. And the best part is you can take advantage of Chocolatey without any cost (yes, even internally for an organization)!
Features
Common Thoughts
«Some of the software I manage is extremely complex and difficult to install.» You mean like Office, SQL Server, or Oracle? How about MatLab? AutoCAD? All can be more easily managed with Chocolatey. Stop torturing yourself, give Chocolatey a shot. Trust us, you’ll never go back to those earlier methods. Come into modern software management and automation. It’s available, and it’s for Windows!!
«I deal with software installers that don’t install silently.» There are solutions for those badly behaved installers. If your team doesn’t have the skillset for something like MSI repackaging, you can lean on our packaging support team that can whip those badly behaved installers into shape for a low cost (provided you are using a commerical edition of Chocolatey).
«I like GUIs or my coworkers like GUIs.» We understand that aspect, that’s why our business edition offering employs many more visual interfaces.
Summary
All we’re saying is, it’s time to step out of the dark ages and stop either doing things manually or stop killing yourself trying to work directly with those complex systems. Rub a little Chocolatey on them, stop powering through extra work at night, and go home to see your family in the evening because you use modern software automation and tools. Have confidence in your deployments and get the right information back to fix quickly when things go wrong. Chocolatey has been around for nearly ten years, thousands of companies and hundreds of thousands of people use it. Lean on a solution that has been proven to work over and over again. It will change your life, it may even get you a raise! You will get more done in the same amount of time, and your employer will take notice. Windows deserves better automation and so do you.
Already familiar with other package managers?
Chocolatey is like dpkg (Apt-Get)/RPM, but built with Windows in mind (there are differences and limitations). It can also do configuration tasks and anything that you can do with PowerShell. Another notable difference, it is really easy to create and maintain packages compared to those older, existing solutions for POSIX.
Chocolatey manages packages (strictly nupkg files) and those packages manage software (could be installers, could be runtime binaries, could be zips or scripts).
Chocolatey is a software management tool that is also a package manager. It functions fantastically well when the runtime software is all included in the package and it doesn’t make use of native installers. However to approach the Windows ecosystem a package manager also needs to know how to manage actual software installations, thus why Chocolatey does that as well. For publicly available packages, copyright keeps from having binaries embedded in packages, so Chocolatey is able to download from distribution points and checksum those binaries.
Requirements
Chocolatey Clients
With Chocolatey clients, we ensure that Chocolatey is going to run with low memory footprints because you will have all aspects of things you will need to manage and different space and memory available across all of those clients. Chocolatey has a very wide reach into where it can be installed.
For Chocolatey clients, you will need the following:
Chocolatey Components
Space Requirements
Memory Requirements
RECOMMENDATION: At least 2GB of RAM at a bare minimum, but recommend at least 8GB for managing installations.
Chocolatey Repository Servers
SPACE RECOMMENDATION: Have enough space for 10x the size of the installers and other software you will store. This will allow for some default growth. We would recommend 100 GB at a minimum.
We’ve compiled a list of requirements for commercial repository options. Chocolatey Simple Server (Chocolatey.Server) can be put on really minimum hardware that could be 1-2GB of RAM, low CPU, and as little as 5 GB of space (number of packages you store will drive this). You will just want the network transfer to be fast.
Chocolatey Central Management
Requirements coming soon. Just imagine normal recommendations for an ASP.NET IIS deployment, a SQL Server back end, and 1+ Windows Services (depending on scale).
Using Chocolatey
Now that you have Chocolatey on your machine (need to install?), you can run several commands.
Take a look at the command reference. We are going to be using the install command.
Overriding default install directory or other advanced install concepts
Is there a better way? Absolutely, see ubiquitous install directory switch!
Terminology
Software and Package are not terms used interchangeably in the Chocolatey community. It’s important to understand the distinction between them and how they are related.
What Are Chocolatey Packages?
Chocolatey packages are known as nupkg files, which is a compiled NuSpec or a fancy zip file that knows about package metadata (including dependencies and versioning). These packages are an enhanced NuGet package, they have additional metadata that is specific to Chocolatey. Chocolatey is also compatible with vanilla NuGet packages. A Chocolatey package can contain embedded software and/or automation scripts.
Chocolatey packages are not just something fancy on top of MSI/Exe installers. Chocolatey definitely supports that avenue and, with the addition of unzipping archives, it is the most widely used aspect of Chocolatey, especially when you see the packages on the community feed (https://community.chocolatey.org/packages aka dot org). Chocolatey is about managing packages, and it works best when those packages contain all of the software instead of reaching out to external/internet resources for the software those packages represent. When you look at the community feed, you are seeing one representation of the way you can build packages, mostly driven by distribution rights that govern when packages can redistribute software or not. Those distribution rules do not govern private/internal packages, so the rules are a bit different. Packages internal to organizations are wide open to do quite a bit more. You can do software embedded packages where executables are automatically added to the path (shimmed) and/or PowerShell automation scripts to do pretty much anything, including running native installers that may be embedded or downloaded as part of the automation script (again, one of the most widely seen aspects on dot org).
Packages with everything embedded are much more deterministic and repeatable, things most businesses require. You just won’t see that as often on the community feed due to the aforementioned distribution rights.
The closer the underlying software a package represents is to the package (as in executables and files included in the package), the more Chocolatey behaves like a package manager.
How does Chocolatey work?
How the heck does this all work?
Installation
Upgrade
Uninstall
Where are Chocolatey packages installed to?
How does Chocolatey work with Programs and Features? 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.
Where does Chocolatey install packages from?
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.
Setup / Install
Requirements
That’s it! All you need is choco.exe (that you get from the installation scripts) and you are good to go! No Visual Studio required.
Installing Chocolatey
Chocolatey installs in seconds. You are just a few steps from running choco right now!
Install with cmd.exe
Run the following command:
Install with PowerShell.exe
With PowerShell, there is an additional step. You must ensure Get-ExecutionPolicy is not Restricted. We suggest using Bypass to bypass the policy to get things installed or AllSigned for quite a bit more security.
Additional considerations
📝 NOTE Please inspect https://community.chocolatey.org/install.ps1 prior to running any of these scripts to ensure safety. We already know it’s safe, but you should verify the security and contents of any script from the internet you are not familiar with. All of these scripts download a remote PowerShell script and execute it on your machine.
We take security very seriously. Learn more.
«Why do I need to enable TLS 1.2 in PowerShell? Shouldn’t it be on by default when I load PowerShell?»
The load by default is really hard to see, so you should check to ensure it is there. Assume it doesn’t and set explicitly.
More Install Options
Troubleshooting? Proxy? Need more options?
More Install Options
Install from PowerShell v3+
📝 NOTE The command for installing with PowerShell at the top of the page works for all versions of PowerShell from v2 on. This is provided as an additional note for folks who want a more terse command that is easier to remember.
With PowerShell, there is an additional step or two. You must ensure Get-ExecutionPolicy is not Restricted. We suggest using Bypass to bypass the policy to get things installed or AllSigned for quite a bit more security.
Completely offline install
Install with Puppet
📝 NOTE If you have the licensed edition, see Setting up Licensed Edition with Puppet instead. This only additionally contains some package examples and setting up tab completion.
Here’s an example of setting Chocolatey up with Puppet that sets up and configures Chocolatey, sets up an internal package repository, and shows setting up the licensed edition and ensuring some packages.
Install using PowerShell from cmd.exe
This is the best method if you want to repeat it or include it in source control. It requires no change to your existing PowerShell to allow for remote unsigned scripts.
Create a file named installChocolatey.cmd with the following:
If you prefer to have the install.ps1 file already, comment out the download line in the batch file and download the install.ps1 from community.chocolatey.org and save it as install.ps1 next to the installChocolatey.cmd file.
Run installChocolatey.cmd from an elevated cmd.exe command prompt and it will install the latest version of Chocolatey. You can not run this from powershell.exe without making changes to your execution policy.
Install using NuGet Package Manager
When you have Visual Studio 2010+ and the NuGet extension installed (pre-installed on any newer versions of Visual Studio), you can simply type the following three commands and you will have Chocolatey installed on your machine.
Install-Package chocolatey Initialize-Chocolatey Uninstall-Package chocolatey
Install using NuGet.exe from PowerShell
You can also use NuGet command line to download Chocolatey:
Once you download it, open PowerShell (remote unsigned), navigate to the tools folder and run:
Install downloaded NuGet package from PowerShell
📝 NOTE Ensure PowerShell execution policy is set to at least bypass or remote signed (if you have issues, you may need to set it to Unrestricted).
Install licensed edition
Installing behind a proxy
Have a proxy? Try
Installing behind an explicit proxy
Installing to a different location
Installing a particular version of Chocolatey
Set the following environment variable prior to install:
In PowerShell, it looks like this:
📝 NOTE This will only work with the installation methods that call https://community.chocolatey.org/install.ps1 as part of the install.
Use Windows built-in compression instead of downloading 7zip
Set the following environment variable prior to install:
In PowerShell, it looks like this:
📝 NOTE This will only work with the installation methods that call https://community.chocolatey.org/install.ps1 as part of the install.
Installing with restricted TLS
📝 NOTE If your server is restricted to TLS 1.1+, you need to add additional logic to be able to download and install Chocolatey (this is not necessary when running Chocolatey normally as it does this automatically).
📝 NOTE If this is for organizational use, you should consider hosting the Chocolatey package internally and installing from there.
If you see an error that looks similar to the following:
It’s possible that you are attempting to install from a server that needs to use TLS 1.1 or TLS 1.2 (has restricted the use of TLS 1.0 and SSL v3), you have some options. community.chocolatey.org now requires TLS 1.2 at a minimum.
If you are an organization, this is your best option and it reduces issues with rate limiting that could occur later.
Upgrade to the following:
You need to download and unzip the Chocolatey package, then call the PowerShell install script from there. See the Download + PowerShell Method section below.
Non-Administrative install
You must choose a different location than the default (see Installing to a different location above). The default is a more secure location that only administrators can update.
Examples of packages you can install:
Upgrading Chocolatey
Once installed, Chocolatey can be upgraded in exactly the same way as any other package that has been installed using Chocolatey. Simply use the command to upgrade to the latest stable release of Chocolatey:
Uninstalling Chocolatey
I’m having trouble installing Chocolatey
Make sure you’ve reviewed More Install Options and looked over Troubleshooting. If you’ve done those things, reach out over the mailing list or over chat. The links to those can be found in the open source section of https://chocolatey.org/support.
I’m getting a 403 attempting to install
This is addressed in Troubleshooting.
Why isn’t there an MSI?
Chocolatey was born out of providing automation for Windows and doing that with packages, packages that could surround an installer but didn’t necessarily need to. The Chocolatey install scripts use the Chocolatey package (a nupkg file itself) to be installed and upgraded as just another package. This means Chocolatey is «eating its own dogfood» and it is unlikely we’d offer it as an MSI (native installer)as it would fly a bit in the face of what Chocolatey represents (although it is something that we would not rule out).
The installation actually ensures a couple of things:
PowerShell is installed and is set up properly.
PowerShell is a requirement for using Chocolatey, not just for install. It is what drives the package installation process in most cases. Every package can have binaries and/or installation/uninstallation scripts (written in PowerShell). Chocolatey is the framework and each package gets to define how it is installed, upgraded, and uninstalled. It’s an extremely flexible framework that has been proven to meet the insanity that is the Windows software installation ecosystem. That flexibility would not be easily achieved without PowerShell.
We do recognize there are a few organizations that disable PowerShell, so it’s very likely in the future our Business Edition will meet that need. PowerShell is a staple of Windows automation, so it is not the norm for an organization in this day and age to disable PowerShell.
Having an install process that uses PowerShell helps you determine quickly if Chocolatey will be able to be used in your environment.
You are open to doing things in a slightly different way, e.g. working with packages as opposed to installers.