Como acelerar a instalação e desinstalação do pacote MSI?

14

Ao instalar e desinstalar pacotes do Windows Installer , ou arquivos MSI, como são chamados, o progresso da instalação aparece significativamente mais lento que em outros pacotes de instalação.

Por que esse é o caso e o que posso fazer para acelerar as coisas ?

Stein Åsmul
fonte
1
O que você sabe, sou imediatamente criticado por tentar fornecer alguns conselhos práticos e técnicos do mundo da implantação ao mundo da administração do sistema. O conselho neste tópico é lógico e tecnicamente sólido até o momento da redação. Bem-vindo a críticas construtivas.
Stein Åsmul
Você essencialmente escreveu um artigo sobre algumas facetas da tecnologia MSI. Isso é legal, eu acho. Eu nunca, como administrador de sistemas, realmente precisei resolver o problema de "Minhas instalações de software são tão lentas".
Mfinni
Esta é uma resposta atualizada para uma pergunta que eu já vi várias vezes neste site e em outros sites de troca de pilhas.
Stein Åsmul
3
@finni - não significa que não esteja no tópico. Existem muitos problemas que vejo neste site que não encontro.
Mark Henderson
Ele estava perguntando por que recebeu votos negativos sem comentar. Não votei, mas dei uma resposta que vi como uma possível razão para isso.
mfinni

Respostas:

15

Resumo Rápido

  • Propriedades de necessidade de velocidade para ajustar:
    • MSIFASTINSTALL (tente, talvez3ou7)
    • FASTOEM (pense duas vezes, deve ler a documentação)
    • DISABLEROLLBACK (entenda o que significa, pode causar falha na execução de ações personalizadas no pacote MSI! Depende do design do MSI - procure ações personalizadas de confirmação e reversão )
  • O software de segurança pode ser suspenso para acelerar as instalações.
    • Tente desativar durante a instalação - verifique seu instalador em virustotal.com .
  • Tente executar a partir de uma imagem administrativa ( informações alternativas ) (não é necessário extrair arquivos).
    • Executar a partir de uma imagem administrativa local seria mais rápido.
    • A rede de alta latência pode retardar a instalação se você usar uma imagem administrativa da rede?
      • Sobrecarga potencialmente alta por arquivo (arquivos pequenos).
      • O download de um único CAB pode ser mais rápido (a verificação de vírus pode demorar muito aqui)?
  • A restauração do sistema pode ser desativada globalmente na máquina (não apenas via MSIFASTINSTALL).

Informações básicas

Grande parte da lentidão de uma sessão do Windows Installer se deve a seus recursos de reversão . Primeiro, ele cria um ponto de restauração antes da instalação ou desinstalação (desde que a restauração do sistema não tenha sido desativada). Em seguida, ele fará backup de todos os arquivos e chaves do Registro afetados durante a desinstalação e a instalação, para garantir que o sistema possa ser restaurado ao seu estado original caso ocorra um erro. Versões posteriores do Windows Installer apresentam maneiras de desativar parte dessa complexidade e acelerar as coisas. Veja as informações técnicas abaixo.

Outro fator de velocidade é que todos os componentes e recursos no MSI serão registrados no registro . Isso envolve um pouco de sobrecarga , mas é necessário para obter importantes benefícios de implantação corporativa e administração do sistema . Nenhuma outra tecnologia de implantação apresenta esse nível de controle.

Arquivos MSI grandes com arquivos de origem incorporados podem levar muito tempo para extrair seus arquivos do instalador para a pasta temp. Às vezes, esse pode ser o maior gargalo de todos. É recomendável executar uma instalação de administrador para extrair os arquivos de origem de um pacote para que eles apareçam lado a lado com o próprio arquivo MSI, eliminando a necessidade de extrair arquivos localmente em cada máquina e economizando tempo de implantação. Aqui está outro artigo que descreve a extração de arquivos de pacotes MSI em termos simples .


Informação técnica


ATUALIZAÇÃO (Fev.2018): você pode definir uma propriedade chamada FASTOEM sob circunstâncias muito especiais (consulte o conteúdo vinculado) para acelerar a implantação. Eu nunca tentei isso, mas vale a pena ler. Duvido que você consiga utilizá-lo efetivamente, mas pode valer a pena tentar.


A atualização mais recente do Windows Installer no momento da redação, o Windows Installer 5 (disponível no Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7), apresenta uma nova propriedade MSIFASTINSTALL que pode ser usada para acelerar a instalação do um grande pacote MSI . Veja o link acima para valores válidos. Eu sugeriria 3 para nenhum ponto de restauração e apenas o FileCosting (o processo de determinação dos requisitos de espaço em disco). Ou 7 para também reduzir a frequência das mensagens de progresso.

O " custo " normal apresenta diversas comparações e cálculos de recursos, componentes, discos e registros entre o que existe no sistema e o que está sendo instalado. A maioria disso raramente é necessária na minha opinião (o espaço em disco é geralmente abundante nos PCs clientes - e, na realidade de 2018, com um disco SD menor, o problema de espaço pode ter ressurgido ...), mas é obviamente mais seguro deixá-lo cheio execução de custeio.

msiexec.exe / I "D: \ winzip112.msi" / QN MSIFASTINSTALL = 3

Também é possível definir a propriedade DISABLEROLLBACK para desativar o suporte à reversão no instalador do MSI. Eu recomendaria fortemente não usar isso, a menos que você esteja montando um PC novo. Este é um caso especial quando você pode simplesmente recomeçar se algo falhar. Para um computador em uso real, eu não recomendaria ativar essa propriedade.

A ironia é que a desativação da reversão acelerará as coisas se você estiver executando um grande pacote de atualizações que substitui muitos arquivos ou qualquer desinstalação grande (uma vez que a desinstalação moverá todos os arquivos removidos para uma área de reversão). Pode ser bastante significativo, mas não seguro. Você acabou de definir esta propriedade na linha de comando: msiexec.exe / I "D: \ winzip112.msi" / QN MSIFASTINSTALL = 3 DISABLEROLLBACK = 1

Instalação administrativa

E, finalmente, como mencionado acima nas informações de segundo plano, execute uma instalação administrativa do arquivo MSI para extrair arquivos, para que a extração não ocorra localmente em cada máquina. Isso pressupõe que você esteja em uma rede bastante rápida e que a cópia do arquivo ocorre sem demora demais. Suponho que uma rede sem fio de alta latência possa tornar as coisas mais lentas com pequenos arquivos extraídos que precisam ser copiados um por um. Você executa uma instalação de administrador simplesmente passando a / a para o arquivo de instalação:

setup.exe / a

ou

msiexec / a "D: \ winzip112.msi"

Em seguida, você precisa seguir as instruções e selecionar um local de extração para os arquivos. Consulte superuser.com para obter uma discussão sobre esse recurso.


Alguns Links :

Rapidez:

Stein Åsmul
fonte
não é MSIFASTINSTALL? sem ERna cauda.
N611x007
Eu adicionei a propriedade MSIFASTINSTALL = 3 no meu projeto Wix. Ainda assim, não há diferença no tempo de instalação. <ID da propriedade = "MSIFASTINSTALL" Value = "3" /> Se fiz algo errado?
Kathir Subramaniam
1
Isso melhora principalmente o tempo de "sair do chão" para um MSI - a criação de um ponto de restauração do sistema pode ser lenta. Também ajuda no cálculo dos requisitos de espaço, mas a instalação em si não é muito mais rápida. Espere enquanto eu localizo outra resposta para a qual eu possa lhe enviar.
Stein Åsmul 23/01/19
1
Acelere a instalação . E o fim do desenvolvimento: acelere o processo de construção do WiX . Instalações administrativas .
Stein Åsmul 23/01/19
Como você verá: nenhuma bala de prata, mas alguns ajustes que você pode fazer. Qual é o tamanho da sua configuração?
Stein Åsmul 23/01/19