Como faço para criar uma instalação silenciosa onde não preciso pressionar o botão seguinte?

Estou a tentar fazer uma instalação silenciosa de um EXE que estou a descarregar. O método de download é relevante, uma vez que não tem nada a ver com a instalação.

Como sempre, quando terminar de baixar estou começando o processo e, em vez de instalá-lo como eu quero (e Não ter que pressionar o botão next) ele só abre o UAC pedindo privilégios administrativos e quando eu pressionar SIM ele abre o exe e eu tenho que isntall-lo manualmente.

Não tenho a certeza, mas há alguma forma de ... instalá-lo como eu quero?

Process process = new Process();
process.StartInfo.FileName = @"C:\PATH\Setup.exe";
process.StartInfo.Arguments = "/quiet";
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
Author: NerdzIT, 2017-03-30

3 answers

A instalação silenciosa de um exe não é fácil. A maneira mais fácil é usar um pacote msi para conseguir isso. Portanto, você tem que extrair o msi do exe e chamá-lo com um destes parâmetros:
  • UI completas: /qf (este é o parâmetro por omissão)
  • UI: /qr reduzidas (a interface do utilizador não mostra nenhuma janela de assistente)
  • UI básicas: / qb, / passivo (só será mostrada uma barra de progresso durante a instalação)
  • no UI: / qn, / quiet (nenhum UI será mostrado durante a instalação)

No Windows Vista e acima, para que o pacote de instalação seja instalado silenciosamente, o pacote de instalação deverá ser executado elevado. Portanto, o processo pai chamando a configuração.o exe tem de concorrer como administrador.

Se você quer instalar um exe silenciosamente, então há muito mais que você tem que fazer. Mas depende do tipo de pacote de instalação que você está tentando instalar. Descubra o que era o software do instalador com o qual o pacote foi criado, em seguida, olhe para cima a documentação especificada na embalagem. Você precisa procurar os argumentos da linha de comando dentro da documentação que permite executar o exe silenciosamente, se for possível. Assim como você tem que descobrir se o pacote instalar como por usuário ou como por máquina, porque várias permissões determinam o tipo de elevação.

 1
Author: DigheadsFerke, 2017-04-06 14:07:16

Se não consegue embalar o instalador origional num MSI, então pode sempre dar uma vista de olhos no Auto IT ( https://www.autoitscript.com/site/autoit/)

AutoIt v3 é uma linguagem de scripts básica de freeware projetada para automatizar a GUI do Windows e scripting geral. Ele usa uma combinação de teclas simuladas, movimento do mouse e manipulação de janela / Controle, a fim de automatizar as tarefas de uma forma impossível ou confiável com outras línguas (por exemplo, VBScript e SendKeys). O AutoIt também é muito pequeno, auto-contido e será executado em todas as versões do Windows fora-da-caixa, sem "runvezes" irritantes necessários!

Se usar isto, poderá brincar e fazer com que o botão' Próximo ' seja clicado automaticamente em essência, alcançando o seu objectivo.

 0
Author: Rawns, 2017-04-07 14:00:22

Se o seu instalador for o InstallShield, poderá usar este comando: setup.exe /s /v/qb para instalação silenciosa com MSI UI básicas ou setup.exe /s /v/qn para instalação silenciosa sem qualquer UI. Dê uma olhada nesta pergunta https://stackoverflow.com/a/39047467/5675763 pode ajudar.

 0
Author: Mahdi Ataollahi, 2017-05-23 11:54:06