Ao executar desinstalações silenciosas de MSIs, como você sabe quando é feito?

4

Se você tiver um msi que deseja desinstalar da linha de comando, faça MsiExec.exe /qn /X{26A24AE4-039D-4CA4-87B4-2F83217045F0} /norestart por exemplo, retorna imediatamente. Mas msiexec.exe está sendo executado por algum tempo, talvez por alguns minutos. Então, se eu estou escrevendo sobre isso para querer fazer uma instalação - como eu sei se é feito? Eu não posso apenas assistir msiexc.exe porque também é um processo de serviço, então nunca vai embora ...

    
por jmp242 09.06.2015 / 19:07

2 respostas

2

Use o comando "start" com / wait para esperar até que o processo seja encerrado.

start "" /wait msiexec /x ...

"" é uma solução alternativa, caso os atributos a seguir contenham citações. link

    
por 09.06.2015 / 21:57
2

Os códigos de erro msiexec estão documentados aqui . Quando você obtém um código de erro, como zero, significa sucesso, msiexec considera-se feito.

Para capturar os códigos de erro, pode-se envolver a execução no PowerShell, por exemplo, aqui (copiar / colar código sem vergonha):

(Start-Process -FilePath "msiexec.exe" -ArgumentList "<<whatever>>" -Wait -Passthru).ExitCode

Modifique para atender às suas necessidades.

    
por 09.06.2015 / 22:33

Tags