Desinstalação silenciosa da atualização do sistema Lenovo ThinkVantage

3

É necessário lançar a mais recente atualização do sistema Lenovo ThinkVantage (v5.06.0034) via SCCM 2012. Quero que essa atualização substitua todas as versões inferiores e, para isso, eu preciso desinstalar essas versões anteriores silenciosamente.

Normalmente, é possível fazer isso usando o UninstallString do TVSU com o parâmetro / quiet ou / qn:

MsiExec.exe /X{25C64847-B900-48AD-A164-1B4F9B774650} /qn

Tecnicamente, isso funciona. No entanto, o instalador da Lenovo pergunta ao usuário se ele deseja excluir a pasta do programa após a desinstalação, o que requer a entrada do usuário (sim ou não). Portanto, quando a desinstalação é iniciada silenciosamente, o instalador será interrompido indefinidamente, pois não há como o usuário interagir com o instalador.

Existe alguma maneira de fornecer um unattend.xml para este instalador ou alguém sabe sobre uma opção de comando específica que eu poderia usar com o instalador do System Update da .exe?

EDITAR

Como @kce sugeriu (obrigado!), eu encontrei o nível de logging do msiexec durante a desinstalação. Considerando que eu não consegui encontrar nenhuma propriedade que possa ser passada manualmente através de msiexec, aqui está a parte em que o instalador cria a caixa de diálogo "Excluir pasta?" - juntamente com a função que é chamada se o usuário pressionar sim. Talvez ajude alguém:

MSI (s) (80!84) [10:52:44:046]: Creating MSIHANDLE (77) of type 790531 for thread 3716
InstallShield 10:52:44: Registering Msi Server...
MSI (s) (80!84) [10:52:44:046]: Closing MSIHANDLE (77) of type 790531 for thread 3716
MSI (s) (80!84) [11:03:27:239]: Creating MSIHANDLE (78) of type 790531 for thread 3716
InstallShield 10:52:44: Invoking script function DeleteInstallDir

Eu não persuadi mais o problema desde que vi que o instalador v5.06.0034 (release mais recente) realmente verifica se versões antigas estão instaladas e desinstala corretamente versões antigas (a estrutura de pastas e os valores do registro são limpos).

    
por slagjoeyoco 08.05.2015 / 10:35

2 respostas

6

Ah. As alegrias da instalação automatizada de software em um ambiente Windows. O SCCM só pode fazer muito com instaladores terríveis fornecidos pelo fornecedor, como você descobriu.

Minha primeira parada ao tentar criar um Programa de Aplicativos ou um Programa de Pacotes é dar uma olhada no ITNinja que costumava ser chamado de App Deploy antes de a Dell decidir comprar e renomear. Infelizmente não há muito para Atualização do Sistema Lenovo ThinkVantage .

Se você estiver por conta própria, há algumas etapas gerais que você pode tentar:

  • Experimente diferentes métodos de instalação . Muitas vezes, os fornecedores empacotam seus aplicativos como um instalador de .MSI com o programa .EXE bootstrap. Às vezes, se você puder encontrar documentação sobre as opções de comando do .EXE (se houver), elas funcionarão melhor do que executar diretamente o .MSI e usar os switches .MSI padronizados. Eu não tenho ideia do porque ...
  • Aumente o log para 11 . Passe msiexec a opção /lvx uninstallation.log para que você tenha informações de log de depuração e detalhadas. Trabalhe com o instalador e monitore o log com o CM32Trace ao fazer isso. Quando você chegar à etapa em que a caixa de diálogo está pedindo o botão Sim ou Não, pressione o botão desejado e veja se é possível localizar um PROPRIEDADE no arquivo de log que pode ser passado de volta para o msiexec.exe ao executar o desinstalador via SCCM. Se você emparelhar este ProcMon do SysInternal, poderá aprender muito sobre como e o que o instalador faz e Às vezes, essa informação é suficiente para descobrir qual é o ponto crítico.
  • Experimente o suporte da comunidade . Alguma outra pobre alma provavelmente tentou fazer isso também, muitas vezes esses gritos de ajuda sem objetivo podem ser encontrados nos fóruns de suporte da comunidade do seu fornecedor. Por exemplo, há um longo tópico na TVSU nos fóruns do Levono em relação à instalação silenciosa . Aparentemente, há um encantamento mágico, ahem, quero dizer instalador comutador /verysilent que o instalador baseado em .exe aceitará; no entanto, os resultados que as pessoas estão obtendo parecem inconsistentes. Talvez funcione para a desinstalação também? Além disso, minha equipe de help desk me disse que / r / sccm é surpreendentemente útil.
  • Faça uma instalação no local . Se você estiver atualizando um software, é importante testar para ver se ele faz uma instalação no local ou uma instalação lado a lado. Novamente, o comportamento aqui é muito dependente do fornecedor, aplicativo e versão. Às vezes, o software é instalado por cima da instalação antiga existente; às vezes, ele procura todas as versões antigas e tenta desinstalá-las primeiro e, outras vezes, instala lado a lado com as duas versões coexistentes. . Com o software que faz uma instalação no local ou tem uma tarefa de desinstalação de versões mais antigas, geralmente funciona melhor deixar o instalador fazer qualquer coisa insana que queira fazer, em vez de usar o modelo SCCM Application Supersedence. Teste, teste e teste um pouco mais.
  • Reempata o instalador do fornecedor . Às vezes você tem que construir uma ratoeira melhor. Existem ferramentas como Instalador Avançado que auxiliam na reembalagem de software em um instalador personalizado .MSI. Isso também pode ser uma solução decente, embora trabalhosa, para um instalador fornecido pelo fornecedor que faz coisas bobas.
  • Reclamar com o seu fornecedor . Eu nunca vi esse trabalho, mas com certeza me faz sentir melhor.
  • Desista e use um hack . Às vezes o caminho para a vitória é o fracasso. Como Konrad Gajewski indicou um número de aplicações que podem automatizar o clique de botões porque a vida como um O Administrador do SCCM é absurdo e sem significado .
por 14.05.2015 / 22:25
1

Esta resposta é sub-óptima, mas como não há outras, decidi publicá-la:

Use o autohotkey para pressionar sim.

    
por 12.05.2015 / 12:00