Saltar al contenido

Desinstalar programas de forma silenciosa a través de CMD

Solución:

Puede invocar el desinstalador correcto sin conocer el GUID, etc. mediante WMIC.

Para ver una lista de los nombres de los programas que Windows conoce internamente:

wmic product get name

Busque el nombre de su producto. Probablemente coincida con el que figura en el “Programas y características” panel de control, pero no siempre.

Entonces puedes usar

wmic product where name="_my_product_name" call uninstall

para realizar la desinstalación, que AFAIK debería ser silenciosa (ha sido en mi experiencia, pero inténtelo antes de apostar la granja en eso. El silencio puede depender de cómo se construyó su instalador / desinstalador).

Vea aquí para más:

  • WMIC: la mejor herramienta de línea de comandos que nunca has usado (descripción general de WMIC con muchos comandos interesantes descritos)
  • Windows: desinstale una aplicación desde la línea de comandos (la receta específica)

También hay documentación de referencia para WMIC en microsoft.com.

Cada programa que se instala correctamente de acuerdo con las pautas de Microsoft hace una entrada de registro en HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall. Por lo general, la clave del programa será su GUID o, de lo contrario, el nombre del programa. Dentro de esa clave habrá una entrada llamada UninstallString. Contiene el comando a ejecutar para desinstalar el programa.

Si ya sabe de antemano lo que va a desinstalar, debería ser bastante fácil ponerlo en su archivo por lotes. Sin embargo, se vuelve complicado cuando intentas automatizar ese proceso. Puedes usar el reg para obtener datos del registro, pero devuelve una gran cantidad de texto alrededor del valor real de una clave determinada, lo que dificulta su uso. Es posible que desee experimentar con el uso de VBscript o PowerShell, ya que tienen mejores opciones para obtener datos del registro en una variable.

Si tiene PowerShell 3 (o superior) instalado, puede emitir una llamada WMI para obtener todos los programas con el nombre de una determinada cosa (o ‘me gusta’ una determinada cosa, para realizar búsquedas con comodines), y luego llamar al Uninstall método para cada uno de ellos:

(Get-WmiObject -Query "SELECT * FROM Win32_Product WHERE Name like '%Partial Name%'").uninstall()

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *