Winget: Instale Qualquer Programa no Windows com 1 Comando
⏱️ Leitura: ~10 min
TL;DR
- Testamos o comando
winget install --id=pra instalar o WhatsApp Beta direto da Microsoft Store, sem abrir navegador nem loja. - O Winget aceita busca por nome (
winget search) e instalação exata por ID — evitando instalar o app errado quando há vários resultados parecidos. - Não é preciso estar no Windows Insider: apps com "Beta" no nome são instalados normalmente em qualquer Windows estável.
Nota Técnica: Comandos e scripts fornecidos têm fins exclusivamente educacionais. Teste sempre em ambiente controlado. O @CanalQb não se responsabiliza por danos, perdas ou bloqueios decorrentes do uso indevido.
A maioria ainda procura o instalador no navegador — e ignora um comando nativo do Windows.
Rodamos esse comando ao vivo pra trazer um app "Beta" da Microsoft Store direto pro PowerShell, sem abrir loja nem site nenhum. O log logo abaixo é exatamente o que apareceu no nosso terminal, sem cortes — inclusive o prompt de aceite de termos que trava quem não sabe o que responder.
Até o fim deste post você vai saber instalar (ou desinstalar) qualquer programa com uma linha só, e por que digitar só o nome do app — em vez do ID exato — pode instalar a versão errada sem você nem perceber.
O que é o Winget e por que ele substitui a busca manual por instaladores?
Resposta rápida: Winget é o gerenciador de pacotes nativo do Windows 10 e 11, usado via PowerShell ou Prompt de Comando. Ele baixa e instala programas direto de dois repositórios oficiais — o catálogo comunitário winget-pkgs e a própria Microsoft Store — sem exigir navegador, pesquisa no Google ou clique em botão de download de terceiros.
O Winget vem embutido no componente App Installer, que já é instalado por padrão no Windows 11 e chega via atualização automática da Microsoft Store no Windows 10 (build 1809 em diante). Ele funciona como um "apt" ou "brew" para Windows: você digita o nome ou o ID do programa, e ele resolve sozinho de onde baixar, valida o instalador com hash e executa a instalação silenciosamente sempre que possível.
Existem duas fontes principais configuradas por padrão: a fonte winget, mantida pela comunidade no repositório winget-pkgs no GitHub (com IDs no formato Fabricante.Programa, como Adobe.Acrobat.Pro), e a fonte msstore, que é o catálogo oficial da Microsoft Store (com IDs alfanuméricos como 9NBDXK71NK08). Isso explica por que às vezes o ID de um app parece um nome legível e às vezes parece um código aleatório — depende de qual das duas fontes forneceu o pacote, exatamente como aparece na linha "This package is provided through Microsoft Store" do nosso print.
Aqui no @CanalQb, validamos que mesmo em máquinas com Windows 10 desatualizado, um winget upgrade --id Microsoft.AppInstaller --source msstore resolve boa parte dos casos de "winget não é reconhecido" antes mesmo de tentar instalar qualquer outro programa. Se você usa PowerShell no dia a dia, vale a pena revisar também nossa lista de automações em PowerShell já publicadas aqui no canal.
Como descobrir o ID exato de um programa antes de instalar?
Resposta rápida: Use winget search <nome> antes de instalar qualquer coisa. Esse comando consulta as duas fontes configuradas e devolve uma tabela com Nome, Id, Versão e Origem — é ali que você confirma qual pacote é realmente o que você quer, antes de rodar o install.
Passo 1 — Abra o PowerShell (ou o Terminal do Windows)
Aperte Win, digite "PowerShell" ou "Terminal" e pressione Enter. Não precisa necessariamente ser como administrador para buscar ou instalar a maioria dos apps de usuário único — mas rodar como admin evita bloqueios em programas que instalam serviços do sistema.
Esse passo existe porque o Winget é um comando de CLI (linha de comando): ele não tem ícone na área de trabalho nem atalho no menu Iniciar, então toda a interação acontece dentro do terminal, exatamente como no print acima.
PS C:\WINDOWS\system32> piscando, pronto para receber comandos.Passo 2 — Rode o comando de busca
winget search whatsappEsse comando varre as fontes configuradas (winget-pkgs e Microsoft Store) atrás de qualquer pacote cujo nome ou moniker contenha "whatsapp", e devolve uma tabela com colunas Name, Id, Version, Match e Source.
É esse passo que evita instalar a coisa errada. No nosso teste, a busca por "whatsapp" trouxe mais de um resultado — incluindo o WhatsApp normal e o WhatsApp Beta — e só olhando a tabela você sabe qual ID pertence a qual versão antes de comprometer a instalação.
winget source update primeiro e tente de novo com um termo mais específico.Passo 3 — Copie o valor exato da coluna "Id"
Selecione com o mouse exatamente o texto que aparece sob a coluna Id — não o Name. No caso do WhatsApp Beta do nosso print, o Id retornado foi 9NBDXK71NK08.
Isso é necessário porque o parâmetro --id exige correspondência exata: qualquer caractere fora do lugar, ou copiar o Name em vez do Id, faz o Winget não encontrar nada — mesmo que o programa exista e apareça na busca.
9NBDXK71NK08 ou Adobe.Acrobat.Pro) copiada e pronta pra colar no próximo comando.Como instalar um programa direto pelo ID, sem risco de baixar o app errado?
Resposta rápida: Rode winget install --id=<ID>, aceite o termo de licença do publisher digitando "Y" quando pedido, e aguarde a barra chegar a 100%. É exatamente esse fluxo que aparece completo no print: da busca até o "Successfully installed".
Passo 1 — Rode o comando de instalação por ID
winget install --id=9NBDXK71NK08O Winget pega o ID informado, consulta qual fonte o hospeda (nesse caso, a Microsoft Store, como o próprio terminal avisa na linha "This package is provided through Microsoft Store"), resolve a versão mais recente e prepara o download do manifesto.
Usar --id= em vez do nome puro garante que você instale exatamente esse pacote — nem uma versão mais antiga, nem um app homônimo de outro publisher. É a diferença entre "instalar um WhatsApp qualquer" e "instalar este WhatsApp específico que eu escolhi na busca".
--accept-package-agreements --accept-source-agreements ao final do comando pra pular o prompt manual nesses casos.Passo 2 — Aceite os termos do publisher
Quando aparecer "The publisher requires that you view the above information and accept the agreements before installing. Do you agree to the terms? [Y] Yes [N] No:", digite Y e pressione Enter — exatamente como no print.
Esse gate existe porque, mesmo instalando via linha de comando, o pacote continua sendo distribuído pela Microsoft Store — e a Store exige consentimento explícito aos termos de transação e ao aviso de apreensão (Seizure Warning) antes de liberar qualquer instalação, independente do canal usado.
Passo 3 — Confirme "Successfully installed"
Acompanhe a barra até 100% e aguarde a mensagem final. No nosso teste, o WhatsApp Beta foi de 0% a "Successfully installed" em poucos segundos, numa conexão comum de banda larga residencial.
Esse texto exato — "Successfully installed" — é a confirmação de que o Winget validou o hash do instalador, extraiu ou executou o pacote e registrou o programa no sistema. Sem essa linha, não há garantia de que o app está funcional.
PS C:\WINDOWS\system32> normalmente, com o app já disponível no Menu Iniciar.winget source update e tente novamente antes de considerar usar a flag --force.Como instalar um programa só pelo nome, sem precisar do ID completo?
Resposta rápida: Use winget install <nome ou moniker> quando tiver certeza de que o nome é único no catálogo — como winget install Adobe.Acrobat.Pro. É mais rápido de digitar, mas menos seguro contra ambiguidade do que usar --id.
Quando vale usar o nome direto
winget install Adobe.Acrobat.ProEsse formato funciona bem quando o nome ou moniker já é praticamente exclusivo no catálogo — o próprio Winget resolve internamente qual Id corresponde e segue direto para o download, sem exigir que você rode uma busca antes.
O ganho aqui é velocidade: você economiza o passo de winget search quando já confia que o nome não vai colidir com outro programa parecido. Foi exatamente esse comando reduzido — winget install whatsapp, sem --id — que resolveu sozinho para "WhatsApp Beta" no nosso print, porque era o único resultado com correspondência forte de nome naquele momento.
winget search <nome>, escolha o Id certo na tabela e refaça a instalação usando --id=.Preciso estar no Windows Insider para instalar apps "Beta" como o WhatsApp Beta?
Resposta rápida: Não. "Beta" aqui é o canal de lançamento do aplicativo dentro da Microsoft Store, não uma versão de desenvolvedor do Windows. Você instala esses apps normalmente em qualquer Windows 10 ou 11 estável, sem entrar em nenhum programa Insider.
Vale desfazer essa confusão porque ela é comum: existe o Windows Insider Program, que entrega builds de pré-lançamento do próprio sistema operacional (canais Dev, Beta e Release Preview), e existem apps individuais que a Microsoft Store cataloga com "Beta" no nome — como o WhatsApp Beta, que é só uma variante do WhatsApp com recursos em teste, publicada normalmente na Store pública. São duas coisas completamente diferentes.
Na prática, isso significa que você não precisa arriscar a estabilidade do seu Windows entrando em canais de pré-lançamento só para acessar um app rotulado como "Beta" — o Winget, puxando direto da Microsoft Store, entrega esse mesmo pacote Beta em qualquer instalação estável, exatamente como mostrou nosso print. Se seu interesse é justamente testar recursos novos de apps antes do público geral, dê uma olhada também no nosso conteúdo sobre ferramentas para Windows aqui no blog.
Como buscar todos os programas de um fabricante inteiro, como a Microsoft?
Resposta rápida: Rode winget search Microsoft pra listar centenas de pacotes publicados com "Microsoft" no nome ou no publisher. Como a lista costuma ser grande, filtre o resultado direto no PowerShell antes de decidir o que instalar.
Filtrando uma busca grande
winget search Microsoft
# retorna dezenas de linhas — filtre assim:
winget search Microsoft | Select-String "Office"O primeiro comando lista tudo que a fonte configurada associa a "Microsoft" — de editores de texto a runtimes internos do sistema. Isso sobrecarrega visualmente o terminal quando você só quer um pacote específico.
O segundo comando usa o cmdlet nativo Select-String do PowerShell (equivalente ao grep do Linux) pra filtrar apenas as linhas que contêm "Office", reduzindo dezenas de resultados a poucos relevantes.
Quais são os erros mais comuns do Winget e como resolver rápido?
Resposta rápida: A maioria dos travamentos cai em quatro casos: comando não reconhecido, fonte desatualizada, nome ambíguo e hash de instalador incompatível. Todos têm correção em uma linha, sem precisar reinstalar o Windows nem o App Installer do zero.
- "winget não é reconhecido": atualize o App Installer pela Microsoft Store e reabra o terminal.
- "No package found": rode
winget source updatee refaça a busca com termo mais específico. - "Multiple packages found": use
winget searchprimeiro e instale sempre pelo--id=exato. - "Installer hash does not match": atualize a fonte e tente de novo antes de usar
--force. - Instalação trava sem terminar: rode como administrador ou adicione
--accept-package-agreements --accept-source-agreements.
Perguntas Frequentes sobre o Winget
O Winget funciona em qualquer versão do Windows?
Preciso ser administrador para usar o winget install?
O Winget é seguro? Ele pode instalar vírus ou adware?
winget search: como o catálogo comunitário winget-pkgs aceita submissões de terceiros, sempre vale conferir o campo Publisher na tabela de busca antes de instalar algo que você não reconhece, exatamente como faria antes de baixar um instalador manualmente de um site desconhecido.Qual a diferença entre instalar por --id e instalar pelo nome?
--id garante correspondência exata com um único pacote específico do catálogo, eliminando qualquer ambiguidade entre programas com nomes parecidos. Instalar só pelo nome é mais rápido de digitar, mas deixa o Winget decidir sozinho qual pacote é "o mais próximo" quando existe mais de um resultado — o que pode instalar uma versão, edição ou publisher diferente do que você pretendia. Para automação de scripts ou ambientes corporativos, o uso de --id é considerado a prática recomendada justamente por essa previsibilidade.Dá para desinstalar programas pelo Winget também?
winget uninstall --id=<ID> remove o pacote pelo mesmo identificador exato usado na instalação, e winget list mostra todos os programas instalados no sistema com seus respectivos Ids, incluindo apps que não vieram originalmente pelo próprio Winget. Isso torna possível limpar uma máquina inteira de programas indesejados sem abrir o painel de Configurações do Windows, usando apenas uma sequência de comandos no PowerShell.Gostou de automatizar a instalação sem tocar no navegador? Tem mais dica assim no canal.
Inscreva-se no @CanalQb