Qual é o propósito da instalação administrativa iniciada usando msiexec / a?

A tecnologia do Windows Installer suporta a instalação administrativa. A linha de comando para iniciar a instalação administrativa é: ‘ msiexec / a setup.msi ‘. Eu quero entender o propósito deste tipo de instalação e em quais cenários eles são úteis?

No mundo real, não tem tanto valor assim. A MSI foi projetada em um dia em que um computador normalmente tinha um disco rígido de 2 a 20 GB. Eles criaram todos esses cenários de propaganda “fugir da fonte”, que pareciam realmente legais naquela época, mas que nunca foram realmente captados no mundo real.

Hoje, o que um desenvolvedor de configuração faz para mim é uma maneira fácil de “extrair” um MSI e verificar seu conteúdo. É sobre isso.

Finalidade das instalações administrativas

As instalações administrativas geralmente são mais úteis em cenários de implantação em larga escala, nos quais o software é instalado em vários computadores ao mesmo tempo, por exemplo, em um grande banco com milhares de estações de trabalho. Na verdade, é bastante crítico para esses cenários de implantação. Como um empacotador de aplicativos, a primeira coisa que você tende a fazer é fazer uma instalação administrativa para inspecionar o conteúdo ea estrutura do arquivo MSI.

Operações em uma instalação administrativa

A própria instalação do administrador simplesmente extrai os arquivos dos arquivos internos da cab e ajusta o layout da mídia do arquivo MSI para usar os arquivos extraídos para instalação em vez dos arquivos internos da cab. O resultado final é uma hierarquia de pastas nítida, mostrando onde os arquivos irão para o sistema de destino, e um arquivo MSI menor do que o original, agora despojado de arquivos internos do cab. A operação não faz alterações no sistema de destino além dessa extração, a menos que o MSI seja personalizado para fazer isso, o que é um sério erro de design em quase todos os casos. As exceções, acima de tudo, podem include a configuração de arquivos de licenciamento ou o pós-processamento de arquivos para implantação de alguma forma. Eu nunca vi essas construções na vida real, mas é possível adicionar ações personalizadas a instalações de administrador.

Uso de instalações administrativas

Após a instalação do administrador, os arquivos extraídos podem ser colocados em um compartilhamento de rede acessível a partir de milhares de estações de trabalho e podem ser instalados a partir daí. Normalmente, isso é feito por meio de um software de implantação especializado, como SCCM (anteriormente Microsoft SMS) ou similar. No entanto, a instalação também pode ser acionada manualmente pelo usuário em uma estação de trabalho em alguns casos. O benefício crítico dessa instalação de compartilhamento de rede é que as operações de auto-reparo e as instalações subsequentes de patch e atualização nas estações de trabalho têm access aos arquivos originais para que as instalações sejam concluídas com êxito. Você pode ter percebido que o Microsoft Office solicitaria de repente que você inserisse os CDs de instalação para reinstalar alguns arquivos. Isso aconteceria com as estações de trabalho também, a menos que as fonts estivessem disponíveis on-line. Esse requisito de origem pode mudar no futuro, pois a Microsoft armazena em cache mais e mais conteúdo do instalador em cada máquina local (Windows 7 em diante, UPDATE , janeiro de 2018 : Consulte esta resposta para obter mais detalhes sobre esse armazenamento em cache: Por que a MSI exige que o arquivo .msi original com uma desinstalação? ). Devo acrescentar que você também pode colocar o arquivo MSI não extraído em tal local sem extraí-lo por meio de uma imagem administrativa, mas o uso da instalação admin permite que qualquer arquivo seja baixado separadamente (sem download de táxi enorme). Para arquivos MSI enormes isso é importante, e eu prefiro imagens de administração como fonte de instalação para tornar o patch mais confiável – esta é uma preferência subjetiva, mas é devido à experiência da vida real.

Instalações administrativas e patches

Por fim, a criação de patches MSI geralmente exige que uma instalação de administração seja executada para a configuração original e também para a nova configuração. O arquivo de patch do Windows Installer é criado com base nas diferenças entre as pastas novas e antigas do instalador. Como tal, as instalações de administração são críticas para a criação subseqüente de arquivos de patch. Este é o caso do Wise for Windows Installer – o único produto que encontrei para criar patches realmente confiáveis ​​na experiência da vida real (este produto está agora fora do mercado, alguns detalhes aqui: Qual produto de instalação usar? InstallShield, WiX, Wise, Advanced Instalador, etc ). Novamente, uma observação subjetiva baseada em extensos testes do mundo real.

Também é possível corrigir uma instalação de administrador se você receber um MSI e um MSP (arquivo de caminho) de um fornecedor. Você extrai o MSI e corrige a imagem administrativa com o MSP. A pasta de destino conterá um novo MSI e quaisquer novos arquivos (desde que o patch de admin funcione, o que geralmente não acontece na minha experiência).

“Run From Source”

Chris menciona “Run From Source”, e este é realmente um conceito inútil e obsoleto, onde alguns arquivos na instalação podem ser deixados no compartilhamento de rede e acessados ​​diretamente a partir daí. Eu honestamente não tentei esse recurso em anos.

Esse recurso raramente é usado, mas acho que pode ser benéfico em cenários em que um conjunto comum de arquivos de resources deve ser acessado por todas as estações de trabalho e você deseja evitar a duplicação em massa. Correções para os arquivos de resources poderiam então ser implantadas por um “patch de instalação admin”, como descrito acima, sem precisar reinstalar nada nas estações de trabalho (o quão bem funciona não é claro – a falta de uso desse recurso pode ser uma pista).

Um grande conjunto de software com muitos módulos diferentes, onde poucos são usados ​​por pessoas diferentes, pode acelerar significativamente a instalação e o uso, instalando apenas alguns dos resources necessários e deixando o restante para ser executado a partir da origem ou instalado no primeiro uso. Isso aceleraria a instalação e as instalações de correção subseqüentes e poderia deixar binários potencialmente inseguros e desnecessários fora do sistema. Este último ponto pode ser importante em ambientes bloqueados. No entanto, na vida real vi patches alterar resources anunciados para ser instalado localmente após o patch, que é um comportamento muito estranho e indesejado, mas muito comum à experiência. Na prática, eu acho “executado a partir de fonte” ou resources anunciados de uso muito limitado. Geralmente, é melhor dividir uma configuração em duas, uma para o cliente e outra para a instalação do servidor.


ATUALIZAÇÃO :

Aqui está um novo resumo do mesmo problema: instalação do administrador e seus usos (extração de arquivos e além) . Por favor, leia também o comentário abaixo sobre o ” comportamento de cache alterado do MSI no Windows 7 em diante “.

Digamos que você precise instalar o produto X em algumas máquinas, e que você precisará aplicar algumas correções para o X também. Em vez de aplicar uma série de patches em cada máquina, você pode fazer isso:

  • Crie uma imagem administrativa para X
  • Aplicar os patches à imagem administrativa
  • Instale o X em cada máquina usando a imagem corrigida

Pode economizar tempo e esforço, e você saberá que todas as suas máquinas estão no mesmo nível de correção.