Documentação

Como o WingetEasy funciona, clique a clique

Casos de uso formais, os fluxos de ponta a ponta com diagramas de sequência, a referência do modo headless e o catálogo de erros do winget traduzidos.

casos de uso
10
fluxos E2E
6
argumentos CLI
5
problemas resolvidos
7

01

Visão geral

O winget é poderoso, mas é uma ferramenta de terminal. O WingetEasy coloca as atualizações do Windows numa interface nativa, discreta e com controle deliberado pelo usuário.

  • Verifica e aplica atualizações de todos os apps instalados via winget, com categorias, busca e filtros.
  • Resolve os problemas reais do dia a dia: apps abertos, pedidos de administrador, pacotes em loop e fontes corrompidas.
  • Guarda snapshots da máquina, gera scripts PowerShell e monta perfis para reinstalar tudo em outro PC.
  • Roda discretamente na bandeja ou sem interface nenhuma, pelo Agendador de Tarefas.

02

Telas do aplicativo

Navegação lateral com NavigationView, tema claro/escuro e idioma PT-BR/EN-US alternáveis na barra de título.

Tela Para que serve
UpdatesPage Central de atualizações: banner de estado, chips Todos/Apps/Runtimes/Segurança, busca, adiados e barra de progresso do lote.
UpdateFlyout Painel rápido da bandeja com efeito acrílico, checklist com rolagem e botão “Atualizar Selecionados (N)”.
HistoryPage Linha do tempo agrupada por data, filtros 24 h/7 dias/30 dias/Tudo e exportação CSV.
BackupPage Snapshots em cartões: Restaurar, Exportar .json, Exportar .ps1, Transformar em perfil e Excluir.
ProfilesPage Catálogo de perfis com nome, descrição, contagem de pacotes e instalação em lote.
SettingsPage Bandeja e inicialização, automação, notificações, auto-cura de fontes e atualização via Velopack.

03

Casos de uso

Especificação formal dos cenários que o WingetEasy cobre.

UC01Usuário final

Atualização rápida pela bandeja

Abre o painel pelo ícone, marca/desmarca pacotes e atualiza com o botão dinâmico.

UC02Usuário final

Conflito com apps abertos

Chrome ou VS Code abertos são detectados antes; o usuário escolhe “Fechar e atualizar” ou “Pular pacote”.

UC03Usuário / Administrador

Elevação administrativa (UAC)

Pacotes que exigem admin são agrupados e pedem um único consentimento do Windows.

UC04Usuário final

Pacotes problemáticos ou em loop

UpdateLoopDetector identifica versões Unknown ou < 1.0; é possível adiar ou ignorar a versão.

UC05Usuário / Técnico de suporte

Snapshot antes de formatar

Cria o snapshot, salva localmente e exporta um script .ps1 auto-instalável.

UC06Usuário final

Restauração em nova instalação

Seleciona o snapshot, escolhe só os programas desejados num checklist e restaura em lote.

UC07Desenvolvedor / Usuário avançado

Perfis temáticos

Cria perfis como “Setup Web Dev” e instala de uma vez tudo que falta na máquina.

UC08Sistema / Administrador de TI

Execução agendada headless

schtasks dispara --check ou --update-all sem janela, com auditoria no SQLite e toast.

UC09Usuário com falhas de catálogo

Auto-cura de repositórios

Na manutenção das Configurações, executa winget source reset --force e valida as fontes.

UC10Sistema / Usuário

Inicialização silenciosa

Inicia com o Windows via --minimized, só na bandeja, consumindo ~7–15 MB.

04

Verificação de atualizações

Disparada por F5, pelo botão “Verificar agora”, pelo temporizador periódico, pela tarefa agendada ou por --check.

Fluxo 1 · Verificação manual ou agendada
renderizando diagrama…

05

Atualização em lote

Três fases: pré-voo de processos conflitantes, lote de usuário padrão e fallback UAC em lote único.

Fluxo 2 · Lote com detecção de processos e fallback UAC
renderizando diagrama…

06

Cancelamento em tempo real

O sinal de cancelamento atravessa todas as camadas até encerrar o instalador em execução.

Fluxo 3 · Cancelamento
renderizando diagrama…

07

Snapshot e exportação PowerShell

winget export enriquecido com nome da máquina, versão do Windows e data, salvo no SQLite e opcionalmente exportado como script.

Fluxo 4 · Criação de snapshot e .ps1
renderizando diagrama…
Script .ps1 gerado (trecho)
#Requires -RunAsAdministrator
Write-Host 'Iniciando instalacao dos programas via Winget...' -ForegroundColor Cyan

winget install --id 'Google.Chrome' --exact --silent --accept-package-agreements --accept-source-agreements
winget install --id 'Git.Git' --exact --silent --accept-package-agreements --accept-source-agreements

08

Restauração granular

Todos os pacotes vêm marcados; o usuário desmarca o que não quer e acompanha o progresso item a item.

Fluxo 5 · Restauração via snapshot
renderizando diagrama…

09

Auto-cura de fontes do WinGet

Quando o catálogo corrompe ou gera timeouts, um clique restaura as fontes oficiais.

Fluxo 6 · Self-healing
renderizando diagrama…

10

Modo headless (CLI)

Para scripts, terminal e agendadores — sem carregar a interface WinUI.

Argumento Efeito
--check Verifica atualizações silenciosamente. Retorna 0 se tudo estiver atualizado ou 10 se houver pendências.
--update-all Atualiza automaticamente todos os pacotes pendentes.
--minimized Inicia direto na bandeja do sistema, sem janela.
--backup <caminho> Gera um snapshot no arquivo informado.
--restore <caminho> Restaura os pacotes de um snapshot.
Código Significado
0 Sucesso / nenhuma ação pendente
1 Erro genérico de execução
2 Argumentos inválidos
10 Atualizações disponíveis encontradas (durante --check)
11 Falha ao executar uma ou mais atualizações
Tarefa agendada · WingetEasy_Background_Check
Ação:      WingetEasy.App.exe --check
Gatilho:   diário ou repetição configurável (SettingsPage)
Condições: RunOnlyIfNetworkAvailable = true
           DisallowStartIfOnBatteries = false
           StopIfGoingOnBatteries = false

11

Solução de problemas comuns

Como resolver na prática os entraves mais frequentes que você encontra durante o uso do winget.

O winget avisa que o aplicativo está aberto e não consegue atualizar

0x8A150056 (-1978335146)

O WingetEasy detecta automaticamente aplicativos em execução (ex: Google Chrome, Visual Studio Code) na fase de pré-voo. Você pode clicar em “Fechar e atualizar” para encerrar o app graciosamente com salvamento de estado, ou escolher “Pular” para continuar os outros.

O Windows pede confirmação de administrador (UAC) várias vezes seguidas

0x8A150014 (-1978335212)

No WingetEasy, o aplicativo principal roda sem privilégios. Se vários pacotes exigem elevação, ele os reúne e dispara um único prompt de consentimento UAC através do processo worker isolado (--elevated-update).

Um programa atualiza com sucesso mas volta a aparecer na lista logo em seguida (Loop / Versão Unknown)

Versão Unknown ou < 1.0

Alguns manifestos informam versões incorretas. O UpdateLoopDetector identifica quando um programa já foi atualizado nas últimas 24 horas para o mesmo identificador e o move automaticamente para a aba “Adiados”, impedindo notificações repetitivas.

As buscas falham ou o winget trava dizendo que o catálogo está inacessível

Source Timeout / Catálogo corrompido

Abra a aba Configurações e clique em “Auto-cura de fontes”. O WingetEasy executa winget source reset --force, restaura os repositórios oficiais da Microsoft e valida a integridade da conexão.

Erro de assinatura ou hash divergente ao baixar o instalador

0x8A15002B (-1978335189)

O instalador fornecido pelo fabricante foi alterado antes do manifesto do winget ser atualizado pela comunidade. Aguarde algumas horas até que o repositório oficial aprove a nova hash, ou adie temporariamente o pacote.

Aparece a mensagem de reinício pendente após a instalação

0x8A15004E (-1978335154)

O pacote foi instalado com êxito! O Windows apenas precisa que você reinicie a máquina para substituir bibliotecas DLL que estavam bloqueadas em memória. O WingetEasy trata isso como sucesso.

12

Códigos de erro do winget

O WingetErrorTranslator converte HRESULTs em mensagens em português e decide a próxima ação.

Hex Inteiro Mensagem no WingetEasy
0x8A150056 -1978335146 O aplicativo está aberto no momento. Feche-o e tente novamente.
0x8A15004E -1978335154 Atualização aplicada com sucesso! Reinicie o computador para concluir. (tratado como sucesso)
0x8A150014 -1978335212 Esta atualização requer permissões de Administrador. (dispara o fallback UAC)
0x8A15002B -1978335189 O arquivo baixado tem assinatura diferente do catálogo. Pode ser um erro temporário do fabricante.
0x8A150011 -1978335215 O instalador deste programa não suporta atualização silenciosa.
0x8A15002E -1978335186 O pacote já se encontra na versão mais recente compatível.

13

Configurações e efeito imediato

Cada toggle é gravado atomicamente no SettingsRepository e lido pelo serviço que depende dele.

Configuração Onde é avaliada
KeepInSystemTray Em MainWindow.AppWindow_Closing: esconde na bandeja ou encerra o app.
AutoStart Registro em HKCU…Run com --minimized.
AutoUpdate Cria ou remove a tarefa no Agendador de Tarefas do Windows.
IncludeBetaVersions Libera versões beta, rc, preview, canary, insider e nightly na verificação.
QuietHours Em ToastNotificationService, antes de exibir qualquer alerta.
NotificationSound Aplicado na carga da notificação do Windows.
WindowBounds Carregado no construtor de MainWindow para restaurar posição e tamanho.

14

Próximos passos

Milestone 6 — distribuição.

  • Finalização do manifesto MSIX (Package.appxmanifest).
  • Pipeline de CI/CD para releases automatizadas (release.yml com Velopack).
  • Submissão ao repositório oficial microsoft/winget-pkgs.
Logo WingetEasy

Deixe o winget trabalhar. Você só escolhe os apps.

Baixar para Windows