Guia de tecnologias

Como usar o Windows Package Manager (winget) no Windows 10

9 min read Dev Tools Atualizado 19 Oct 2025
Guia completo do Windows Package Manager (winget)
Guia completo do Windows Package Manager (winget)

O que é um gerenciador de pacotes

Um gerenciador de pacotes é uma ferramenta que automatiza instalar, atualizar e remover aplicações no sistema operacional a partir de um repositório central. No Windows, winget traz esse fluxo para a linha de comando, similar ao apt no Linux ou brew no macOS.

Importante: winget valida manifestos e hashes de instaladores para reduzir risco de pacotes maliciosos, mas a segurança também depende das fontes e da configuração do administrador.

Por que o winget importa

  • Reduz trabalho manual de baixar instaladores e clicar em assistentes.
  • Torna reproduzível o provisionamento de máquinas (desenvolvimento, testes, estações de trabalho).
  • Facilita atualização centralizada de software por scripts ou ferramentas de automação.

Alternativas existentes

  • Chocolatey: gerenciador popular com grande repositório comunitário.
  • Scoop: foco em utilitários de linha de comando e usuário avançado.
  • Ninite e Npackd: soluções para instalação automatizada com foco em desktops.

Cada alternativa tem trade-offs em controle, permissões necessárias e curadoria de pacotes.

Como obter o Windows Package Manager

Você tem duas maneiras principais para instalar o winget no Windows 10:

1. Entrar no programa Windows Insider e atualizar automaticamente

Se você fizer parte do programa Insider e usar uma build compatível, o App Installer e o cliente winget serão atualizados automaticamente pelo Microsoft Store. A versão mínima suportada para o cliente era Windows 10 1709 (build 16299) quando o projeto foi anunciado.

2. Baixar o bundle oficial no repositório do projeto no GitHub

O projeto é open-source, então o bundle de instalação pode ser baixado no repositório público do projeto no GitHub. Essa é a rota recomendada se você não usa builds Insider. Note que, ao instalar manualmente, as atualizações posteriores podem requerer atualização manual do bundle.

Instalar o bundle a partir do GitHub

  1. Baixe o pacote .msixbundle do repositório do projeto no GitHub.
  2. Abra a Microsoft Store e verifique se o App Installer está atualizado para a versão mais recente.

Imagem ilustrando o instalador do pacote no repositório GitHub

Alt da imagem: Ilustração do Windows Package Manager (winget) mostrando o logotipo e a interface de linhas de comando.

  1. Vá até a pasta onde o bundle foi baixado e dê duplo clique para instalar.
  2. Abrir Prompt de Comando ou PowerShell e digitar:
winget

Se o winget estiver instalado, você verá a lista de comandos suportados e informações do cliente.

Verificação de instalação do winget exibindo versão e comandos

Alt da imagem: Tela do Prompt de Comando com a saída do comando winget listando os comandos disponíveis e informações do cliente.

Comandos básicos do winget

A versão inicial do Windows Package Manager fornece comandos para operações comuns. Termos breves:

  • Manifesto: arquivo YAML que descreve metadados do pacote.
  • Fonte: repositório (source) que contém pacotes indexados.

Comandos suportados:

  • install — instala a aplicação fornecida
  • show — mostra informação detalhada de um aplicativo
  • source — gerencia fontes de pacotes
  • search — busca e mostra informações básicas sobre apps
  • hash — gera hash de instaladores para manifestos
  • validate — valida um arquivo de manifesto
  • –help — mostra ajuda de linha de comando
  • –info — mostra dados adicionais para troubleshooting
  • –version — mostra a versão do cliente

Exemplo de comando winget search mostrando resultados

Alt da imagem: Resultado do comando winget search no terminal, exibindo aplicações encontradas e suas descrições.

Exemplos de uso prático

  • Procurar um app:
winget search firefox
  • Ver detalhes de um app:
winget show Mozilla.Firefox
  • Instalar um app por ID (modo recomendado para precisão):
winget install --id=Mozilla.Firefox -e

O parâmetro -e (exact) força correspondência exata e evita ambiguidade.

Exemplo do comando winget show mostrando metadados do pacote

Alt da imagem: Saída do comando winget show exibindo metadados como descrição, autor e fontes do pacote.

Instalar múltiplos apps de uma vez

Você pode escrever scripts simples (bat, PowerShell) que executam vários winget install sequenciais. Exemplos:

Exemplo em PowerShell (arquivo install.ps1):

# Exemplo: instalar conjunto básico
winget install --id=Mozilla.Firefox -e
winget install --id=Google.Chrome -e
winget install --id=Microsoft.VisualStudioCode -e
winget install --id=7zip.7zip -e

Exemplo em batch (install.bat):

@echo off
winget install --id=Mozilla.Firefox -e
winget install --id=Google.Chrome -e
winget install --id=Microsoft.VisualStudioCode -e
pause

Usar Winstall para gerar scripts

Winstall é uma webapp que ajuda a criar bundles e gerar scripts compatíveis com winget. Fluxo resumido:

  1. Visite Winstall.
  2. Selecione apps ou escolha um pacote pronto.
  3. Clique em Generate script e copie para a área de transferência.
  4. Cole o script no PowerShell/Prompt e execute.

Interface do Winstall para selecionar apps e gerar script

Alt da imagem: Interface da web do Winstall exibindo seleção de aplicações para criar um pacote de instalação.

Exemplo de seleção de apps no Winstall antes de gerar o script

Alt da imagem: Página do Winstall com lista de aplicações e checkboxes para criar um bundle.

Copiar script gerado pelo Winstall para a área de transferência

Alt da imagem: Botão Copy to clipboard no Winstall que copia o script de instalação gerado.

Colar script no Prompt de Comando ou PowerShell

Alt da imagem: Janela do PowerShell com o script do Winstall pronto para execução.

Instalação dos apps disparada pelo winget via Winstall

Alt da imagem: Progresso da instalação de múltiplos aplicativos mostrada no terminal enquanto o winget executa os comandos.

Como submeter um pacote ao repositório do winget

Se um app estiver faltando no repositório, você pode submeter um pacote seguindo o fluxo do projeto:

  1. Criar um manifesto YAML que descreva o pacote e a localização do instalador.
  2. Gerar o hash do instalador com winget hash.
  3. Validar o manifesto com winget validate.
  4. Abrir um pull request no repositório do repositório do projeto no GitHub com o manifesto.

Critérios de aceitação típicos: metadados completos (nome, versão, fornecedor), instalador acessível, hash correto, e licença compatível.

Segurança e privacidade

  • winget verifica hashes e valida manifestos para proteger contra alterações não autorizadas.
  • Em ambientes corporativos, prefira configurar fontes internas e curadas para controlar o que é instalado.
  • Permissões: installs por padrão podem exigir privilégios de administrador dependendo do instalador.
  • Dados pessoais: o winget em si não coleta catálogos de uso do usuário, mas instaladores podem incluir telemetria — revise políticas de privacidade dos aplicativos antes de implantar em escala.

Integração com fluxo corporativo e MDM

  • Para TI, crie repositórios internos (sources) com manifestos aprovados e configure endpoints no winget via o comando source.
  • Use ferramentas de gerenciamento (SCCM/Intune) em conjunto com winget para automação e conformidade.

Quando o winget pode falhar e como diagnosticar

Cenários comuns e soluções:

  • Erro de rede ao acessar a fonte: verifique conectividade e proxy.
  • Instalador bloqueado por antivírus: verificar logs do antivírus e assinar o instalador.
  • Conflito de versão já instalada: use switch –silent ou parâmetros específicos do instalador; em alguns casos, desinstale manualmente primeiramente.
  • Permissão negada: executar o terminal como Administrador.
  • Manifesto inválido: usar winget validate para identificar erros no YAML.

Comandos úteis para diagnóstico:

winget --info
winget search nome-do-app --source winget
winget show --id=Nome.Do.Provedor --source winget

Playbook de recuperação rápida

  1. Verificar saída do comando e copiar mensagens de erro.
  2. Rodar winget –info para obter contexto do cliente.
  3. Testar acesso à fonte com curl ou navegador para checar bloqueio.
  4. Validar manifesto com winget validate.
  5. Revisar logs de segurança e antivírus.
  6. Se necessário, instalar manualmente e anexar evidências ao issue no repositório do projeto.

Checklist por função

  • Usuário final: 1) Verificar versão do Windows; 2) Instalar App Installer; 3) Testar winget search/install.
  • Desenvolvedor: 1) Criar manifesto YAML; 2) Gerar hash; 3) Rodar winget validate; 4) Submeter PR.
  • Admin de TI: 1) Definir fontes internas; 2) Testar automatizações; 3) Configurar permissões e políticas.

Critérios de aceitação para submissão de pacotes

  • Metadados obrigatórios preenchidos.
  • Hash do instalador válido.
  • Instalador público ou acessível para revisão.
  • Licença compatível e não viola termos da store.

Testes e casos de aceitação

  • Instalar pacote em máquina limpa sem erros.
  • Verificar se o aplicativo inicia e registra versão correta.
  • Executar winget upgrade e confirmar atualização.
  • Testar desinstalação via winget ou método nativo e validar remoção.

Migração de outras soluções

  • Chocolatey para winget: muitos pacotes existem em ambos, mas IDs e switches diferem — teste antes de migrar massivamente.
  • Scoop: diferente modelo (instala em pastas de usuário), avalie quando preferir instalações sem privilégios de admin.

Boas práticas

  • Use IDs explícitos (–id) e –exact para evitar ambiguidade.
  • Prefira fontes curadas em ambientes corporativos.
  • Automatize instalações via scripts versionados em repositório de configuração.
  • Teste scripts em VMs antes de rodar em produção.

Modelos e snippets úteis

Exemplo de script PowerShell com logging:

$logFile = "C:\temp\winget-install.log"
Start-Transcript -Path $logFile
winget install --id=Mozilla.Firefox -e --silent
winget install --id=Microsoft.VisualStudioCode -e
Stop-Transcript

Modelo simplificado de manifesto YAML (exemplo ilustrativo):

# Exemplo mínimo de manifesto
PackageIdentifier: Contoso.MyApp
PackageVersion: "1.2.3"
Name: Contoso MyApp
Publisher: Contoso Ltda
Installers:
  - Architecture: x64
    Url: https://contoso.example.com/downloads/myapp-1.2.3-x64.exe
    Sha256: 

Restrições e limites atuais

  • Nem todos os aplicativos Windows estão no repositório oficial.
  • Alguns instaladores requerem interação gráfica e podem não suportar parâmetros silenciosos.
  • O ecossistema está em evolução; confira atualizações no repositório do projeto.

Exemplo de fluxo completo de provisionamento

  1. Preparar VM base com Windows 10 atualizado.
  2. Instalar winget via App Installer ou bundle do GitHub.
  3. Rodar script de bootstrap (instalações básicas, browser, editor).
  4. Rodar ferramentas específicas do time via manifestos aprovados.
  5. Registrar VM como imagem de golden image.

Perguntas frequentes

O winget substitui Chocolatey e Scoop?

Depende das necessidades. winget é uma solução nativa e bem integrada, mas Chocolatey e Scoop ainda oferecem repositórios e recursos que podem ser preferíveis para cenários específicos.

Preciso de privilégios de administrador para usar o winget?

Alguns instaladores exigem privilégios de administrador. O winget tenta executar instaladores conforme necessário, mas ele mesmo não eleva automaticamente se você não estiver em um terminal com elevação.

Como garantir segurança em grandes rollouts?

Use fontes internas curadas, valide manifestos e hashes, e teste em um grupo piloto antes de implantar em toda a organização.

Resumo

  • winget traz gerenciamento de pacotes nativo ao Windows, acelerando instalação e atualização de apps.
  • É possível instalar via Windows Insider ou baixar o bundle no GitHub.
  • Ferramentas como Winstall facilitam criação de scripts em lote.
  • Para TI, práticas de fontes internas e validação de manifestos são essenciais.

Importante: mantenha seus scripts versionados e teste em ambientes isolados antes da implantação.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE