Determine o nome de um recurso em um MSI para instalar a partir da linha de comando

12

Estou tentando instalar um aplicativo (SalesLogix 7.2 Admin Tools and Servers) a partir de um pacote MSI, mas quero instalar apenas um recurso específico. Como posso determinar o nome do recurso para tentar usar o parâmetro ADDLOCAL?

Seleções SLX MSI

Cilíndrico
fonte

Respostas:

10

Você pode executar o instalador no modo de log detalhado

msiexec /i product.msi /l*v log.txt

Em seguida, procure alterações na ADDLOCALpropriedade no log. Assim, você poderá determinar quais recursos estão instalados com a seleção acima na GUI.

Caso contrário, você pode usar o Orca como sugerido por jscott e analisar o pacote por conta própria. Embora eu ache que usar o log detalhado seja uma solução mais simples e você não perderá um recurso a ser adicionado ADDLOCALpara obter uma instalação funcional.

Alexey Ivanov
fonte
1
Perfeito. Trabalhou um prazer. ADDLOCAL=Common,Administrator,Architect
Cilíndrico
Feliz em ajudar! ;)
Alexey Ivanov
5

Obtenha uma cópia do Microsoftorca.exe - é um simples editor MSI. Existem outros editores por aí que devem funcionar tão bem quanto isso. Abra o MSI no Orca e verifique a Featuretabela. Esta tabela listará todos os conjuntos de recursos disponíveis, desde que o fornecedor os tenha usado para empacotar o instalador.

jscott
fonte
2

A maneira mais fácil seria entrar em contato com o fornecedor do aplicativo e descobrir quais são as opções da linha de comando. Com isso dito, às vezes um fornecedor opta por não disponibilizar essas informações. Nesse caso, eu gosto de usar o Process Monitor para observar o processo de instalação.

A maioria dos instaladores funciona da mesma maneira. Você baixa um único arquivo e o arquivo extrai todos os arquivos de instalação reais em um diretório temporário. Como precisamos ver para onde o instalador está extraindo, use o monitor de processo para observar o instalador assim que for iniciado. Não continue com o instalador ou saia dele. Se você executar uma dessas ações, os arquivos temporários serão excluídos. Copie todos os arquivos extraídos do diretório temp. Você usará esses arquivos para o seu instalador personalizado. Depois de localizar o processo específico (no Process Monitor), filtre todos os outros processos. Você pode observar o processo enquanto continua a sequência de instalação. O que você está procurando é um comando msiexec que chama a instalação do recurso que você solicitou.

Esse pode ser um processo demorado de tentativa e erro, mas tive grande sucesso ao personalizar instalações de aplicativos em que os fornecedores não fornecem essas informações ...

newmanth
fonte
2
O uso do Process Monitor pode proporcionar uma experiência angustiante (especialmente se você nunca o usou antes). Para começar, recomendo usar o comando Incluir Processo da Janela para selecionar a janela do instalador (clique e segure o ícone e arraste para a janela do aplicativo instalador). Isso capturará o ID do processo do instalador. Você pode usar o comando filter para filtrar tudo, exceto esse processo. Além disso, desativo tudo, exceto as atividades de processo e thread.
Newmanth
1

Você pode achar que o instalador MSI suporta a opção de instalação administrativa msiexec . Isso executará o instalador, mas, em vez de realmente instalar o pacote, ele gerará um ponto de instalação para o software, personalizado com as opções que você especificar. Em seguida, você pode implantar o .msi criado no ponto de instalação especificado, da maneira como normalmente implanta seu software.msiexec /a <yourpackage.msi>

Depende em grande parte do que o fornecedor incluiu suporte, portanto, de acordo com a resposta da @ newmanth, talvez seja necessário ligar para o fornecedor e ver quais opções de implantação suportam.

Bryan
fonte