Ansible Pilot

Install Windows software - Ansible module win_chocolatey

How to Install Windows software with Ansible? Today I’m going to reveal a secret to installing software in a Windows managed host using Chocolatey Package Manager.

How to Install Windows software with Ansible?

Today I’m going to reveal a secret to installing the software in a Windows-managed host using Chocolatey Package Manager. I’m Luca Berton and welcome to today’s episode of Ansible Pilot

Ansible module win_chocolatey

Chocolatey is the package manager for windows, it has the largest online registry of Windows packages. At the moment it contains nearly 9000 Community Maintained Packages. Today we’re talking about Ansible module win_chocolatey to automate the software installation process. The full name is chocolatey.chocolatey.win_chocolatey, which means that is part of the collection distributed by “chocolatey”. It manages packages in Windows using chocolatey. It’s the windows correspondent of the ansible package module.


The parameter list is pretty wide but this four are the most important options. In the “name” parameter you are going to specify the name of the package or a list of packages. If you would like to install a specific version you could specify it in the “version” parameter. The state specifies the action that we would like to perform. In our case for install is “present or latest”. I’d like to mention some additional parameters that might be useful for you. The “pinned” parameter allows to pin the Chocolatey package or not. Pin a package to suppress upgrades. During the next upgrade for all packages, Chocolatey will automatically skip the pinned packages. “source” allows specifying a local repository for packages if available.


Are you ready to make your hands dirty? Let’s jump in a quick live demo of a playbook about the win_chocolatey module.

- name: win_chocolatey module demo
  hosts: all
  become: false
  gather_facts: false
    - packages:
      - git
      - notepadplusplus
    - name: install packages
        name: "{{ packages }}"
        state: present

code with ❤️ in GitHub


Now you know better the Ansible module win_chocolatey and how you could use it successfully in your playbook to automate your day-to-day activities. Subscribe to the YouTube channel, Medium, Website and Twitter to not miss the next episode of the Ansible Pilot.


Learn the Ansible automation technology with some real-life examples in my

Want to keep this project going? Please donate

Follow me

Subscribe not to miss any new releases

September 8, 2021

FREE Top 10 Best Practices

Top 10 Best Practices of Ansible Automation: save time, reduce errors and stress