← Voltar às notas de campoNota de campo 04 — Automatização de uma aplicação antiga

O instalador tinha outros planos.

Automatização da instalação de uma aplicação antiga

Uma aplicação que supostamente só podia ser instalada à mão: oito passos e um reinício, transformados num processo que os próprios utilizadores podiam iniciar.

ContextoOrganização britânica de normas profissionais
FunçãoResponsável técnico sénior
Em detalheEstudo de caso técnico com dados sensíveis removidos, disponível em PDF, em inglês.

A situação

Uma aplicação essencial era o último software de negócio que ainda exigia instalação manual pela equipa de TI. Já não tinha suporte, havia poucas opções para automatizar a instalação e o processo incluía etapas antes e depois do reinício, tanto no contexto da máquina como no do utilizador. À primeira vista, era uma excelente candidata a ficar sossegada.

O que encontrei

O instalador do fabricante era apenas uma parte do procedimento real. Era necessário colocar as DLLs de runtime nos locais corretos, aplicar as definições ao nível da máquina no Registo do Windows, reiniciar o equipamento e executar a aplicação uma vez com privilégios elevados, e só depois aplicar as definições de utilizador aos perfis existentes. A desinstalação tinha outro problema: as caixas de diálogo do fabricante tinham de aparecer no ambiente de trabalho do utilizador com sessão iniciada, embora a instalação fosse executada em contexto SYSTEM.

O que alterei

Percorri o processo manual com o colega mais experiente, documentei a razão de cada passo e dividi a automatização em fases claras. O PowerShell tratou da instalação inicial e da configuração da máquina; ficheiros colocados localmente e uma tarefa agendada permitiram continuar após o reinício; as definições de utilizador foram aplicadas explicitamente aos perfis; e um procedimento de desinstalação separado tratou da passagem do contexto SYSTEM para a sessão do utilizador. Os registos de execução e a limpeza fizeram parte do processo desde o início.

O resultado

A aplicação passou a estar disponível no Portal da Empresa (Company Portal), tanto para instalação como para desinstalação gerida. A equipa de TI deixou de ter de repetir os oito passos em cada portátil, incluindo os preparados fora do escritório, e o suporte passou a dispor de registos e de uma estrutura que permitiam localizar as falhas.

O que faria de forma diferente

A solução original utilizou ServiceUI como ponte prática para a desinstalação interativa em contexto SYSTEM. Mais tarde, o PSAppDeployToolkit 4.1 introduziu um modelo de interface cliente/servidor concebido para essa interação. Numa nova implementação, reavaliaria essa camada em vez de manter a alternativa usada originalmente.

Quer saber mais?

O estudo de caso completo inclui os detalhes de implementação, o diagnóstico e a documentação técnica que sustentam esta nota de campo. O PDF está em inglês.