¿Forma CLI de desinstalar una actualización de Windows?

9

Básicamente, ¿qué se puede lograr yendo a Panel de control> Desinstalar un programa> Ver actualizaciones instaladas> Desinstalar con el botón derecho, pero a través de la línea de comandos? Buscando una manera que funcione en la plataforma Windows pero si (y según mi lectura, lo más probable) depende de la versión, que así sea.

Tal vez algo como:

C: \ command / uninstall "Actualización de seguridad para Windows 7 para sistemas x64 (KB2705219)"

Parece que usar el KB sería genial, pero wusa.exe funciona para la actualización de ejemplo anterior, pero no para decir "Actualización de seguridad para Silverlight (KBXXXXXXXX)". No mucha consistencia.

Estoy realmente sorprendido de que no haya mucha documentación sobre esto. ¿Cómo lo hace una aplicación como WUInstall ?

La pregunta de seguimiento es ¿cómo se completa esa lista de "Ver actualizaciones instaladas"? He buscado en el registro como loco esperando un "UninstallString" o equivalente, pero solo encontré referencias a la lista regular Agregar o quitar programas.

Miguel Moll
fuente
Relacionado: superuser.com/questions/270610/… . No es un duplicado directo, pero se aplica una de las respuestas.
Indrek
@ Indrek gracias por el comentario! Volver a un punto de restauración anterior es una forma de manejarlo y lo hice, no hay problema. Pero sería difícil deshacer x cantidad de actualizaciones cuando solo una de ellas necesita ser eliminada. Y como se indica en la pregunta, me encantaría saber cómo lo hace WUInstall.
Miguel Moll
Este usos respuesta wuinstallpara quitar una actualización con un número conocido KB: superuser.com/a/469511
paradd0x
¡Hola @ThiagoM! Sé que wuinstallpuedo hacerlo. Pero esperaba no depender de una aplicación de terceros. Me imagino que wuinstallestá usando algo proporcionado por el sistema operativo, ¿no?
Miguel Moll
2
@ radioact1ve wusa / uninstall / kb: {ID de actualización} ... ¿o me perdí
Moab

Respuestas:

4

Para Server 2003 y XP puedes probar:

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

Donde el número de KB sería el KB que le gustaría matar.

macho cabrío
fuente
Sí, esto es lo que he estado usando. Funciona genial.
Miguel Moll
3

Puedes usar use wusa /uninstall /kb:{updateid}

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

a13ph
fuente
¿Cuáles son los requisitos previos para wusa? Por ejemplo, ¿qué versiones de Windows?
Peter Mortensen el
@PeterMortensen: desde XP de 32 bits en adelante, de acuerdo con whatisdll.com/wusa-exe-repair-free-download-windows-78xpvista y al menos desde Vista hasta de acuerdo con support.microsoft.com/kb/934307, pero probablemente sea porque Microsoft detuvo el soporte de XP
a13ph
0

Encuentro esta muy buena utilidad: https://bitbucket.org/kazenoco/windows-updates-uninstaller-utility/downloads/Windows%20Updates%20Uninstaller.exe


Utilidad de desinstalación de actualizaciones de Windows Esta utilidad (programada en AutoHotKey) le permite desinstalar por lotes las actualizaciones de Windows que desea de su sistema. No desinstala los Service Packs, por lo que debe desinstalarlos manualmente. Funciona en Windows XP, Vista, 7, 8 y 8.1. Instalación No es necesario instalar nada, el ejecutable es portátil, por lo que solo necesita descargarlo y ejecutarlo. El ejecutable creará un archivo de texto temporal en su directorio padre mientras se ejecuta, y lo eliminará automáticamente una vez que ya no lo necesite.

usuario4860978
fuente