Atualizar o cliente Windows sem pedir administrador
[!NOTE] Resumo Executivo (DEV-2026-047): O instalador gravava em Arquivos de Programas e o atualizador falhava para o operador sem elevação. A pasta do aplicativo passou a permitir modificação pelos usuários, e o INI da empresa saiu do Git.
🚨 O Desafio Técnico / Contexto
Cada build novo pedia UAC porque o updater não conseguia trocar o exe em Program Files. O script de publicação ainda esbarrava no lock do compartilhamento de rede, e um INI com dados da empresa tinha caído na árvore versionada.
💡 Principais Lições Aprendidas & Descobertas
- 💡 Permissão Modify para Users na pasta {app} deixa o updater trocar exe e dll sem elevação.
- 💡 O publish recusa gravar de novo a mesma versão. Isso evita manifesto apontando para binário trocado em silêncio.
- 💡 A pasta deploy, com o INI da empresa, fica no gitignore.
- 💡 Lock no share de rede pede nova tentativa no script, não um segundo clique manual.
🛠️ Especificação Técnica & Código-Chave
; Inno Setup: a pasta do app pode ser atualizada pelo operador
[Dirs]
Name: "{app}"; Permissions: users-modify
; Não versionar
; deploy/
📈 Impacto no Ecossistema & Valor Prático
A estação recebe a build nova sem UAC e a configuração da empresa deixa o repositório.
- Projetos Relacionados:
omnichannel,LorentzCliente - Registro de Origem:
_data/daily.dev-03.yml
Publicado originalmente como parte do Diário de Desenvolvimento 2026 do ecossistema Artes do Sul & Araguaci.