Wix – Como executar / instalar aplicativo sem interface do usuário

Eu tenho o arquivo exe e uma necessidade de convertê-lo em msi e instalá-lo usando a política de grupo em mais computador no domínio sem interação do usuário.

Eu encontrei este tutorial https://stackoverflow.com/questions/19271862/wix-how-to-run-exe-files-after-installation-from-installed-directory/19274431# =

Mas isso usando interface do usuário, onde o usuário muset clicando no botão. Eu preciso depois de instalar msi launch exe e instalar no computador em segundo plano – sem qualquer ui.

É possível? Como.

Obrigado por ajuda.

As instalações MSI geralmente seguem o seguinte: https://msdn.microsoft.com/en-us/library/windows/desktop/aa372024(v=vs.85).aspx e, portanto, você pode usar / quiet como uma opção para suprimir a UI e para isso apenas “fazê-lo”

Não incorpore a instalação executável em arquivos MSI

OK, a pergunta não é 100% clara, mas vou dar uma chance. A entrega de arquivos EXE dessa forma – incorporada no arquivo MSI – não é ideal. Na verdade, é uma ideia muito ruim – verdade seja dita. Os arquivos MSI geralmente não devem ser usados ​​apenas como wrappers para entregar arquivos setup.exe incorporados. A enorme complexidade do MSI com sua representação, sequenciamento e condicionamento avançados torna isso muito propenso a erros e difícil de implementar e testar. Além disso, se o binário incorporado for um arquivo MSI agrupado em um binário setup.exe, o MSI falhará porque não permite duas sequências de instalação simultâneas – a menos que você as instale a partir da sequência da interface do usuário (que ganhou) Não trabalhe ao executar silenciosamente).


Executando arquivos setup.exe silenciosamente ou usando o Application Repackaging?

A capacidade dos arquivos MSI de serem executados de forma confiável no modo silencioso (sem GUI) não pode ser correspondida por configurações de estilo herdadas. No entanto, muitas vezes você pode encontrar opções para um setup.exe ou binário de instalação legado (ou moderno) que permitirá que ele seja instalado no modo silencioso, mas não com os direitos de instalação elevados da MSI. Você teria que executar com direitos reais de administrador. E, além disso, muitas vezes é necessário “gravar” uma execução pelos diálogos e usar as respostas gravadas para executar a sequência de instalação – isso é propenso a erros, pois uma checkbox de diálogo inesperada pode aparecer onde não há “resposta” gravada. Então você está preso. O silencioso funcionamento confiável da MSI é uma das principais vantagens corporativas da MSI .

Você pode encontrar muitas informações sobre isso nesta resposta que escrevi há um tempo: como usar o powershell para executar um instalador? . Não deixe o título da pergunta confundi-lo, a questão ainda é bastante semelhante ao que você está pedindo – pelo menos eu acho que sim. Por favor, dê uma olhada rápida pelo menos.

A resposta também descreve ” Reempacotamento de aplicativos ” – o processo de conversão de instaladores do legado legado (ou moderno) para o formato MSI nativo. Essa é uma tarefa especializada que exige um bom entendimento do MSI, mas produz excelentes resultados, uma vez feita corretamente, e a instalação silenciosa é uma tarefa fácil, pois você não conta com “arquivos de resposta silenciosa” frágeis, conforme descrito acima.


Bootstrappers / Chainers

Embora eu não tenha certeza se todos eles permitem que você instale no modo silencioso, existem ferramentas disponíveis que permitem que você instale arquivos MSI e binários de instalação em seqüência a partir de um arquivo executável do launcher. Há outra resposta discutindo várias opções de bootstrapper aqui: Wix e .NET Framework (pré-requisitos) . Um dos bootstrappers recomendados nesta discussão é o dotNetInstaller . Eu nunca usei, então não posso dizer se é bom. Pode ser mais baseado em GUI do que o próprio recurso de bootstrapper do WiX chamado Burn , no entanto, não tenho certeza se é uma combinação de resources. Se você testar, relate suas descobertas. Há certamente outros bootstrappers por aí, mas não é minha área de especialização. Ferramentas comerciais como o Installshield (em sua versão Premium, pelo menos), têm resources para construir um bootstrapper usando uma GUI e acho que elas se referem a elas como “Install Suites” – ou algo parecido. Apenas um pacote de instaladores e pré-requisitos essencialmente. Eu não tentei este recurso de bootstrapper no Advanced Installer .

Com relação a Burn:

  • O Burn é baseado em marcação e compilation XML – geralmente usando o Visual Studio.
  • Aqui está uma descrição de como instalar o .NET Framework usando o Burn .
  • A documentação oficial do Burn .
  • Como você vê, é um pouco mais complicado do que as ferramentas que permitem usar uma GUI para construir sua sequência ou “cadeia” de instaladores.
  • É grátis e confiável.
  • Vou tentar desenterrar uma amostra Burn para você.
  • OK, isso deve ser uma amostra OK do que Burn pode fazer: https://github.com/frederiksen/Classic-WiX-Burn-Theme . Existem alguns GUIDs de projeto do Visual Studio duplicados neste exemplo, eu acho, mas isso não deve ser um problema para você, a menos que você adicione alguns projetos ao seu processo de compilation (os GUIDs duplicados provavelmente confundirão suas ferramentas de compilation – apenas algo que aconteceu comigo uma vez).
  • Só para esclarecer, o Burn constrói pacotes de bootstrapper setup.exe capazes de conter arquivos MSI e EXE em uma determinada sequência e faz parte do kit de ferramentas WiX. O próprio WiX cria arquivos MSI a partir de arquivos de origem WiX XML. Os arquivos setup.exe do Burn também são construídos a partir dos arquivos de origem do WiX XML, mas o esquema é obviamente diferente. Apenas para aqueles que nunca viram essas ferramentas. A amostra diretamente acima mostrará a diferença com um projeto WiX MSI e um projeto WiX Burn. Ele também tem um projeto para construir um binário que é então incluído no MSI e no setup.exe.