CLI maneira de desinstalar uma atualização do Windows?

9

Basicamente, o que pode ser alcançado em Painel de controle> Desinstalar um programa> Exibir atualizações instaladas> Clique com o botão direito em Desinstalar, mas através da linha de comando? Procurando por uma maneira que funcione na plataforma Windows, mas se (e de acordo com a minha leitura, provavelmente) depende da versão, que seja.

Talvez algo como:

C: \ command / uninstall "Atualização de segurança para Windows 7 para sistemas baseados em x64 (KB2705219)"

Parece que usar o KB seria ótimo, mas o wusa.exe funciona para a atualização de exemplo acima, mas não para "Atualização de segurança do Silverlight (KBXXXXXXXX)". Não há muita consistência.

Estou realmente surpreso por não haver muita documentação sobre isso. Como um aplicativo como o WUInstall faz isso?

A pergunta de acompanhamento é como é preenchida a lista de "Exibir atualizações instaladas"? Pesquisei o registro como um louco, esperando por um "UninstallString" ou equivalente, mas só encontrei referências à lista Adicionar / Remover Programas regular.

Miguel Moll
fonte
Relacionado: superuser.com/questions/270610/… . Não é uma duplicata direta, mas uma das respostas lá se aplica.
Indrek
@ Indrek obrigado pelo comentário! A reversão para um ponto de restauração anterior é uma maneira de lidar com isso, e eu fiz isso sem problemas. Mas seria difícil desfazer x quantidade de atualizações quando apenas uma delas precisar ser removida. E, como afirmado na pergunta, eu adoraria saber como o WUInstall faz isso.
Miguel Moll
Esta resposta usos wuinstallpara remover uma atualização com um número KB conhecido: superuser.com/a/469511
paradd0x
Hey @ThiagoM! Eu sei que wuinstallposso fazer isso. Mas esperava não depender de um aplicativo de terceiros. Eu imagino que wuinstallestá usando algo fornecido pelo sistema operacional, não?
Miguel Moll
2
@ radioact1ve wusa / uninstall / kb: {ID atualização} ... ou eu perder alguma coisa ....? sevenforums.com/tutorials/...
Moab

Respostas:

4

Para o Server 2003 e XP, você pode tentar:

C:\WINDOWS\$NtUninstallKB940157$\spuninst\spuninst.exe /quiet /norestart

Onde o número de KB seria o KB que você gostaria de matar.

cabra
fonte
Sim, é isso que eu tenho usado. Funciona bem.
Miguel Moll
3

Você pode usar use wusa /uninstall /kb:{updateid}

http://www.sevenforums.com/tutorials/109213-windows-update-uninstall-console-level.html

a13ph
fonte
Quais são os pré-requisitos para o wusa? Por exemplo, quais versões do Windows?
Peter13
@ PeterMortensen - a partir do XP de 32 bits, de acordo com whatisdll.com/wusa-exe-repair-free-download-windows-78xpvista e, pelo menos, do Vista acima, de acordo com support.microsoft.com/kb/934307, mas provavelmente porque a Microsoft parou o suporte do XP
a13ph 25/06
0

Eu acho este utilitário muito bom: https://bitbucket.org/kazenoco/windows-updates-uninstaller-utility/downloads/Windows%20Updates%20Uninstaller.exe


Utilitário Desinstalador do Windows Updates Este utilitário (com script no AutoHotKey) permite desinstalar em lote as atualizações do Windows que você deseja do seu sistema. Ele não desinstala os Service Packs, portanto, você precisa desinstalá-los manualmente. Funciona no Windows XP, Vista, 7, 8 e 8.1. Instalação Não há necessidade de instalar nada, o executável é portátil, então você só precisa fazer o download e executá-lo. O executável criará um arquivo de texto temporal em seu diretório pai durante a execução e o removerá automaticamente quando não precisar mais dele.

user4860978
fonte