

This flexibility allows for the creation of simple packages (that simply execute a native installer) all the way up to highly complicated installations that perform several operations.

When a Chocolatey package is installed/uninstalled, these files are executed at different times, giving a package creator full control over exactly what actions are performed within a package. Not all of these files are required within every Chocolatey package, as Chocolatey performs a number of tasks automatically, and overriding the default functionality is only required when you want to do something different. Within a Chocolatey package, there are three main PowerShell files:

When Chocolatey started, it was clear that PowerShell was going to be at the heart of how it works as well, and that continues to this day. Whether it was automating the creation of Users within Active Directory, or configuring/maintaining your Exchange Server, PowerShell was the way to do it. Released in November 2006, Windows PowerShell, quickly became the defacto way to automate tasks on Windows.
