Automatize a instalação de programas no Windows com o Chocolatey

 Por Ciro Mota |  9, Setembro 2022 |  Tempo de leitura aproximadamente 5 minutos.
 Edições: Correção de excução de arquivo bat Em 11, Outubro 2023.

E ai pessoal, tudo bem com vocês? Espero que sim!

Tenho como filosofia que a tecnologia precisa trabalhar para nós e não nós trabalharmos para a tecnologia. Confuso? Explico. O que é melhor automatizar uma tarefa para que a mesma seja feita com pouca intervenção ou a mesma tarefa feita com um processo maçante/repetitivo? Não precisamos “reinventar a roda” para deixar nosso ambiente ainda mais produtivo.

Se nas distros Linux com a ajuda dos modelos de empacotamento nós conseguimos com um simples Shell Script deixar tudo pronto para uso após uma instalação limpa, o mesmo nós não podemos dizer dos sistemas Windows onde apesar do “Avançar -> Avançar…” ainda temos a tarefa de nos direcionar ao site oficial dos aplicativos e realizar o download e por fim instalar.

No artigo sobre como integrar as atualizações do Windows à sua mídia de instalação eu comento sobre como pode ser útil a adição dos pacotes de atualização na imagem de instalação, a própria ferramenta utilizada para integrar as atualizações e citada no artigo, a NTLite, possui a funcionalidade de também integrar alguns aplicativos na imagem de instalação. Neste artigo apresentarei outra alternativa para um pós-instalação mais eficiente e eficaz para os sistemas Windows.

Continua após a publicidade

Através da ferramenta Open Source Chocolatey tudo será implementado através de um simples (e você lerá muito essa palavra) arquivo .bat que é nativo de sistemas Windows e que trás um pouco do que é o Shell Script para o Windows, permitindo a instalação de aplicativos de forma bem simplificada como lá no Linux. Curioso o nome da ferramenta mas o que vale aqui é o fato de ser ferramenta com muito potencial e que sem dúvida pode ser muito útil no nosso dia a dia.

A instalação do Chocolatey assim como sua utilização é simplificada bastando apenas rodar uma linha de comando em uma janela do Prompt de Comando (Admin) e feito, estará instalado.

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

Ao final da execução do comando teremos o Chocolatey instalado e precisaremos somente brincar com os scripts para a instalação dos aplicativos.

Janela do Prompt de Comando com instalação do Chocolatey

A montagem de um script de instalação é extremamente simples sem linhas de cabeçalho, delimitadores e afins, bastando adicionar as linhas correspondentes aos aplicativos que queremos instalar e pronto. Bem mais simples do que o uso do Winget. A lista de pacotes disponíveis é imensa e podem ser encontrados neste link, dentre esses pacotes há também algumas atualizações Windows e drivers o que é ótimo.

Continua após a publicidade

No exemplo abaixo eu usei o Google Chrome, o 7Zip, o Foxit PDF Reader, o LibreOffice como exemplos, programas que são comumente usados no dia a dia e todos eles gratuitos.

choco install googlechrome -y
choco install 7zip -y
choco install foxitreader -y
choco install libreoffice-fresh -y

Salve no Bloco de Notas como um arquivo .bat, clique com o botão direito e Executar como Administrador para executá-lo e iniciar o download e instalação ou arraste-o para dentro de uma janela do Prompt de Comando (Admin). O -y aqui compreende a mesma funcionalidade que no terminal Linux, ou seja instalação sem confirmação.

Janela do Prompt de Comando com instalação de pacotes com o Chocolatey

O Firefox acaba sendo um caso à parte quando se trata da instalação através do Chocolatey, caso não seja explicitamente especificado o idioma escolhido (pt-br no nosso caso) o download assume a versão em inglês como padrão. Partindo dessa premissa e caso desejemos instalar o Firefox com o Chocolatey podemos passar na linha de comando um atributo para que o download seja efetuado em pt-br, representado por /l:pt-BR na linha de comando abaixo.

choco install Firefox --params "/l:pt-BR /RemoveDistributionDir" -y

Se o software que você deseja instalar depende de pacotes de localização você deverá consultar a documentação ou os detalhes do pacote no site do Chocolatey para verificar se ele também possui a disponibilidade de adição dos parâmetros de locale na sua linha de comando de instalação com o Chocolatey.

Continua após a publicidade

Mas e se quisermos um script pronto para instalação do Chocolatey e instalação dos apps? Temos sim! Este projeto no GitHub entrega isso. Está em inglês mas é fácil de interpretar e você pode garfá-lo e traduzi-lo se achar necessário:

Gist bentodaniel setup_win.bat

Tem um software antigão e/ou que não está disponível na listagem? Com o Chocolatey você é livre para criar seus próprios pacotes de instalação. Não abordarei essa função neste artigo contudo consultem a documentação para maiores detalhes.

Nas preocupações referentes a segurança e inclusive há uma isenção de responsabilidade por parte dos mantenedores da ferramenta como podem ver na imagem logo acima, os downloads são realizados diretamente dos desenvolvedores dos aplicativos, o Chocolatey atua somente como um intermediário para a instalação desses programas. Claro, você pode também monitorar a página do pacote e lá encontrar informações sobre verificações no Virus Total além de testes de validação. Segue este exemplo do Foxit PDF com essas informações que eu citei.

Continua após a publicidade

E com relação ao próprio Chocolatey por ser um projeto Open Source nós podemos acompanhar todo o seu desenvolvimento através do GitHub e isso nos dá segurança do que está sendo feito, com o código podendo ser livremente auditável.

GitHub do projeto Chocolatey

A utilização é realmente muito simples e nem há muito o que discorrer, o que podemos é lamentar que algo assim não é nativo no Windows. Ops, winget que já abordamos aqui no blog eu ainda considero um tanto pior que o Chocolatey e não maduro o suficiente. Feliz que é um projeto Open Source conseguiu trazer essa funcionalidade.

Você conhecia a ferramenta? Utiliza algum outro artifício para automatização do Windows? Me deixe saber logo abaixo nos comentários. Espero que seja uma ferramenta útil e que ajude na produtividade do dia a dia de quem precisa reinstalar muitos PCs simultaneamente.

Até a próxima!