Como instalar um pacote MSI a partir de um prompt de comando

2

Temos vários sites que implantamos usando um pacote MSI. Um pacote por site.

Isso funciona bem manualmente:

  • entramos no painel de controle
  • desinstalar a versão antiga
  • em seguida, execute o MSI, preenchendo alguns valores, para instalar a nova versão

Gostaríamos de poder executar um arquivo em lote para fazer isso.

  • Isso pode ser automatizado?
  • Como desinstalar a versão antiga?
  • Como preencher os valores normalmente adicionados manualmente
por Shiraz Bhaiji 28.11.2009 / 17:40

3 respostas

3

Você pode usar msiexec, mas provavelmente acabará reescrevendo o MSi com o orca (ou qualquer outro editor msi) O WPKG é completamente inútil quando você percebe que qualquer MSI pode ser automatizado se você tiver configurado o MSI para executar Propriedades (configure o MSi para obter PROPERTY = PropertyValue.) Há também algumas propriedades padrão que podem ser definidas ( listadas aqui ). É tão simples quanto executar msiexec / qn / uninstall product.msi e depois msiexec / i product.msi / qn MYPROPERTY = propertyvalue. Você pode usar pstools ou powershell para executar os comandos remotamente

    
por 29.11.2009 / 05:57
4

msiexec.exe é o programa de linha de comando para instalar e desinstalar arquivos MSI. Para automatizá-lo, eu sugiro WPKG , que permite automatizar a instalação de software, incluindo MSIs. Para preencher os valores, acho que você precisará criar um arquivo MST, que pode ser feito com várias ferramentas, incluindo InstEd ou Orca, em seguida, especifique-o na linha de comando com TRANSFORMS=package.mst .

    
por 28.11.2009 / 17:48
2

Há boas respostas aqui, mas eu só quero adicionar alguns esclarecimentos:

  • Desinstalação automática : Ao criar a Tabela de atualização dentro do MSI para implementar uma "atualização importante ", você elimina a necessidade de desinstalar manualmente ou separadamente a anterior versão. A instalação do novo MSI irá então remover silenciosamente o antigo MSI antes de instalar o novo. Aqui está um ponto de partida para implementar uma grande atualização: link . Também é correto invocar uma desinstalação do antigo MSI via msiexec.exe, mas acho mais elegante que o novo MSI remova o antigo automagicamente .
  • Instalação pela Linha de Comando : O recurso de linha de comando msiexec.exe é muito extenso e geralmente permite que você especifique todos os detalhes necessários para cada MSI, para que a instalação possa ocorrer silenciosamente. Somente as propriedades públicas (reconhecidas pela legenda UPPERCASE) podem ser especificadas na linha de comando. Conforme mencionado anteriormente, há também "propriedades padrão" que podem ser definidas: link

ATUALIZAÇÃO em junho de 2018 : Embora a ferramenta mostrada abaixo não esteja mais disponível para download, encontrei-a por meio da máquina Wayback. Eu suponho que é legal e legal vincular a ele, visto que a ferramenta era freeware. Links atualizados abaixo.

UPDATE : Esta ferramenta da Wise infelizmente já não pode ser baixada . Não tenho certeza se está tudo bem distribuí-lo também. Parecia ser uma ferramenta gratuita distribuída como parte de sua suíte principal do Wise Package Studio, mas não acho que seja de código aberto. Eu gostaria que eles fossem lançados como uma ferramenta de código aberto.

Os produtos de embalagem da Wise foram descontinuados devido a um número de questões legais .

Existe uma ferramenta disponível que ajuda você a criar interativamente uma linha de comando do msiexec.exe.

Para evitar a necessidade de construir manualmente essas linhas de comando msiexec, use a ferramenta de construção de linha de comando msi do Wise: link ( ressuscitado da máquina de Wayback ).

Por favor, execute o download por virustotal.com para segurança.

    
por 03.06.2011 / 18:10