Pare .exe na janela de comando de reiniciar o computador após a desinstalação

1

Estou desinstalando uma atualização de manutenção do Cisco Agent Desktop de vários milhares de computadores clientes e não consigo impedir que ela seja reiniciada. Um arquivo MSI está chamando um arquivo srRollbackRepair.exe que é executado em uma janela CMD vazia e, após cerca de 10 segundos, reinicia o computador.

O srRollbackRepair não é necessário porque está tentando reparar a instalação original, que também será removida (ou já pode ser removida), portanto, não há sentido em um reparo de reversão. Se eu remover o aplicativo original (sem a atualização de manutenção), ele deixará a atualização.

Existe uma maneira de eu definir algum tipo de flag / switch que

  1. impede que .exe seja chamado pelo MSI ou
  2. impede que srRollbackRepair.exe gere uma reinicialização ou
  3. autoclose a janela cmd antes de poder concluir e reiniciar, pois a reversão não é necessária?

Talvez haja uma maneira de fechar automaticamente a janela do cmd após alguns milissegundos? Eu sei que o .exe está iniciando o reinício porque eu posso executá-lo independente do MSI e ele é reiniciado.

Também sei que o MSI não precisa do arquivo .exe para concluir a desinstalação porque, se eu sair da janela cmd após o lançamento, ele nunca será reiniciado - e, em Programas e recursos, o pacote de manutenção desaparece.

Já tentei o seguinte no .exe e no MSI:

/? (generates nothing for exe)
REBOOT=REALLYSUPRESS
/noreboot
/norestart
/delayrestart
    
por montag 23.07.2013 / 17:58

2 respostas

0

InstallShield com linha de comando da MSI

record uninstall ISS answer file:

setup.exe /uninst /r /f1"<ISS_Files_Directory>\uninstall.iss"

desinstalação silenciosa use o arquivo de resposta ISS:

setup.exe /uninst /s /f1"<ISS_Files_Directory>\uninstall.iss"

pode ser uma ajuda ...

caminho 2, Constantes de privilégios :

  1. Desative o privilégio SE_SHUTDOWN_NAME.

  2. Desinstale o MSI.

  3. Ative o privilégio SE_SHUTDOWN_NAME.

por 23.07.2013 / 19:51
0

Basta que seu script renomeie ou exclua srRollbackRepair.exe primeiro. É assim que meu arquivo se parece:

del /f /q "{path-to-the-file}\srRollbackRepair.exe" 
#uninstall service release
msiexec.exe /qn /x{4682F8A7-0BA1-4165-A003-EC50BB43A8AF} /norestart
#uninstall CAD
MsiExec.exe /qn /x{007C5E6D-3037-4C00-A5FD-561F239169C4} /norestart

Verifique se os códigos de instalação estão corretos para sua versão, mas caso contrário, você deve ser bom. Eu usei isso para remover o CAD, em seguida, instale uma versão mais recente.

    
por 10.12.2013 / 18:53