Limpiar Windows manualmente

Iniciado por okik, 22 Septiembre 2016, 15:35 PM

0 Miembros y 1 Visitante están viendo este tema.

okik

////Eliminar un programa manualmente/////:
(porque de forma predeterminada no puedes, es decir desde AGREGAR Y QUITAR PROGRAMAS  o desde el desinstalador del programa)

Tecla Windows + R, escribe REGEDIT.EXE y pulsa ENTER

Dirígete a la clave:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Aquí se encuentran una serie de claves que hacen referencia a programas instalados de 32bits en sistemas de 32bits, y 64bits en sistemas de 64bits

Los programas de 32bits en sistemas de 64bits están en:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\


Por ejemplo si no puedes eliminar Firefox de 32bits, seleccionas la clave Uninstall, Selecciona en el menú Edición, la opción BUSCAR, desmarca "Claves"  y  "Valores" y deja marcado Datos  y pones "Mozilla". Entonces REGEDIT buscará a partir de Uninstall, claves que contengan datos con valor "Mozilla". Debería encontrar una similar a esta, según versión:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox 43.0.1 (x86 es-ES)

Para comprobar que el programa que queremos eliminar es el correcto pones, comprueba el valor InstallLocation que muestra el directorio donde está instalado el programa.

En el caso de Mozilla Firefox debería poner:

C:\Program Files (x86)\Mozilla Firefox

(en sistemas de 64bits con Firefox de 32bits)

C:\Program Files\Mozilla Firefox

(En sistemas de 32bits)

o también:

C:\Archivos de Programa\Mozilla Firefox


Para asegurarte más aún comprueba el valor DisplayName, muestra el nombre de la aplicación que aparece en la lista del desinstalador de programas de Windows.


Una vez estás seguro que la clave es del programa que quieres eliminar, borras la clave (por si acaso puedes exportarla a un archivo reg para poder recuperarla) y  cuando abras el desinstalador de Windows, ya no aparecerá en la lista.


Ten en cuenta que hay programas que crean varias claves. Por ejemplo Nero, crea claves para cada uno de sus componentes; Nero Vision, Nero Recode, Nero ShowTime, etc. Igualmente ocurre con Adobe Photoshop, por ejemplo.


Los programas suelen crear claves de consulta de datos o registro en el registro de Windows. Suelen estar en:


HKEY_CURRENT_USER\Software
HKEY_LOCAL_MACHINE\SOFTWARE


HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
(programas de 32bits en sistemas de 64bits)


Por ejemplo Mozilla Firefox crea esta clave:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla


Se pueden borrar, sin problemas, pero recuerda que es recomendable exportar las claves antes de borrar si no se estás seguro, para restaurarlas en caso de error.

Los programas suelen crear otras claves por todo el registro, pero no siempre sabemos cuales son o si el borrarlas pueden generar problemas al sistema o no. Por ello solo muestro la clave anterior.


Pero el hecho que borres las claves y no aparezca el programa en el desinstalador de programas de Windows no significa que el programa esté desinstalado, completamente. Falta borrar los archivos que suelen estar en:

C:\Program Files\
C:\Program Files (x86)\


Por ejemplo Mozilla Firefox (32bits) en un sistama de 64bits estaría en:
C:\Program Files (x86)\Mozilla Firefox

Esta carpeta se borra y ya tendrías el programa desinstalado. Sin embargo los programas pueden crear archivos de dependencia y carpetas en otros directorios como [\system32], [\Common Files], [C:\Users\Usuario\AppData\Roaming], [C:\Users\USUARIO\AppData\Local], [C:\ProgramData]. Por ejemplo Mozilla Firefox crea:


C:\Users\USUARIO\AppData\Roaming\Mozilla
C:\Users\USUARIO\AppData\Local\Mozilla



Así que si quieres hacer una desinstalación total debes eliminar también estos archivos y carpetas de dependencia, siempre y cuando esté seguro que pertenezcan con seguridad al programa que quieres eliminar o bien no sean compartidos por otro programa que los pueda necesitar.

Una forma de saber que archivos y carpetas ha creado un programa es ver el archivo install.log, que normalmente se encuentra en la carpeta donde está instalado el programa junto al programa de desinstalación. Este archivo muestra una lista de los archivos, carpetas y algunas claves de registro creados por el programa. Si no lo encuentras haces clic con el botón derecho sobre el acceso directo del Uninstall para ver el directorio donde se encuentra y ahí debería estar el install.log

Desgraciadamente no todos los programas tienen un install.log legible con el notepad, algunos usan un formato de archivos DAT u otro tipo y otro nombre. Y otros ni siquiera lo tienen.



[////Limpiar archivos temporales/////]

Tecla Windows + R, escribes %windir%\system32\cleanmgr.exe y pulsas ENTER
   
Esto inicia el liberador de espacio en disco de Windows.

Selecciona el directorio C:

Click en Limpiar archivos del sistema

y marcas:
[v]Archivos temporales de internet
[v]Archivos de registro de instalación
[v]Papelera de reciclaje
[v]Archivos temporales
[V]Miniaturas


Si deseas eliminar las instantáneas de restauración:
Clic en 'LImpiar archivos del sistema'
Selecciona 'Más opciones'
En 'Restaurar sistema e instantáneas' pulsa 'Liberar'


Para limpiar la carpeta Temp:
Muchos programas, generan o crean multitud de archivos temporales. Hay programas de instalación empaquetados que se desempaquetan en la carpeta temporal y ejecutan la isntalación, instalan el programa pero dejan toda la basura de instalación allí. Hay incluso Updates automáticos que generan archivos gigantescos allí, que a veces quedan corruptos o a medias y ocupan un buen cacho de disco. Por eso es recomendable de vez en cuando limpiar la carpeta temporal.

-Abre notepad y pones esto:
FOR /D %%p IN (%temp%*.*) DO rmdir "%%p" /s /q
del /q %temp%\*.*
md  "%Temp%"


--Guarda como LimpiarCarpetaTemp.cmd
---Ejecuta  LimpiarCarpetaTemp.cmd

(Recomiendo cerrar todos los programas antes de limpiar la carpeta temporal)





Eleкtro

#1
Buen aporte, enhorabuena @okik, ¡me apunto! y añado algo a la sección:


////Limpiar archivos temporales/////

Productos de Microsoft


Los productos de Microsoft (Microsoft Office, Visual Studio, etc) suelen crear copias de seguridad de sus instaladores, los cuales se almacenarán en la ubicación C:\ProgramData\Package Cache despues de su instalación, esto es una simple copia de seguridad que sirve para dos propósitos, el primero es para poder crear una instalación administrativa y así aumentar el tiempo de carga de los componentes del instalador (de ahí el nombre "cache", puesto que esos archivos sirven como cache para el instalador), el segundo propósito y más importante es para poder desinstalar el producto, esto quiere decir que podemos eliminar todas esas copias de instaladores sin problemas siempre y cuendo seamos conscientes de que si posteriormente intentasemos desinstalar el producto entonces tendriamos problemas y deberiamos recurrir a metodologías manuales para eliminar los restos de esas instalaciones.

Instaladores de Microsoft Installer (MSI)


Lo mismo ocurre con los instaladores del software de creación de instaladores de Microsoft Installer. Cada vez que instalamos un archivo de instalación en formato .MSI, se guardará una copia del instalador en el directorio C:\Windows\Installer, nuevamente podemos eliminarlos sin ningún problema siempre y cuando sepamos que no necesitarémos desinstalarlo en un futuro, repararlo y/o actualizarlo, puesto que al momento de intentar desinstalar un paquete .MSI se le pedirá al usuario que ubique el desinstalador (pero ya no estará, por que lo habremos eliminado de C:\Windows\Installer).

- ¿Qué hacer en caso de que necesitemos desinstalar un paquete .MSI y no tengamos la copia de seguridad del instalador?
En realidad no es nada grave siempre y cuando tengamos la copia original del instalador, es exactamente lo mismo que la copia de seguridad que se almacena en C:\Windows\Installer, así que al momento de intentar la desinstalación de un instalador .msi solo tenemos que indicarle la ubicación del instalador original para que pueda proceder con su desinstalación.

En algunos casos los instaladores vienen empacados por doble, me refiero, archivos executables que en su interior contienen los paquetes .msi. Para obtener el archivo .msi del interior del .exe lo único que debemos hacer es dirigirnos al dirctorio temporal del sistema, iniciar el instalador .exe y éste desempacará el instalador .msi en dicho directorio temporal, lo copiamos, lo guardamos en otra ubicación y listo.

El método alternativo para la desinstalación de un paquete .msi consistiría en eliminar manualmente los rastros del instalador que se encuentran en una de las siguientes claves: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall o HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall, pero esto no voy a explicarlo en profundidad puesto que ya se explicó en su mayor parte en el post principal.





////Eliminar un programa manualmente/////

Archivos .dll "imborrables"


En ciertas ocasiones, al desinstalar un programa de forma manual, nos encontraremos con el siguiente problema: al intentar eliminar el directorio de una aplicación no nos permite eliminar un archivo dll específico.

El problema descrito arriba suele deberse a que algunas aplicaciones pueden registrar componentes en el sistema operativo que siempre están en uso, como por ejemplo extensiones de shell. Si por los motivos que tengamos  intentamos eliminar directamente el directorio de un programa y no nos permite eliminar algunos archivos dll, esto es un indicativo casi seguro de que se trata de una extensión de shell, y para poder eliminar ese archivo .dll primero debemos hacer otra cosa: desinstalarlo.

Para desinstalar una extensión de shell (o shell-extension) abriremos la consola de windows (o CMD), y simplemente escribiremos el siguiente comando:
Código (dos) [Seleccionar]
RegSvr32.exe -u "C:\Directorio del programa\Archivo_que_no_puedo_borrar.dll"

En algunos casos puede que no se trate de una extensión de shell, y solamente ocurra que otra aplicación está mantiiendo abierto el handle del archivo, o dicho con otras palabras, que otro programa está usando ese archivo y hasta que no termine de usarlo (o cierres ese programa) no se podrá eliminar. Podemos forzar el desbloqueo del handle del archivo con aplicaciones como File Governor: http://www.novirusthanks.org/products/file-governor/

Un método alternativo para eliminar un archivo dll de una desinstalación conflictiva que no sepamos la causa por la cual no nos permite eliminar dicho archivo, simplemente debemos modificarle el nombre, así es, modificarle el nombre al archivo .dll, reiniciar sesión en Windows, y ahora te permitirá eliminar el archivo.
¿Por qué no puedo eliminar el archivo .dll con nombre modificado si primero no reinicio sesión en Windows?, esto tiene una razón muy sencilla, el archivo .dll está registrado en el sistema, está en uso, y si, puedes modificarle el nombre, pero seguirá en uso, en cambio cuando reiniciamos sesión en Windows, el sistema operativo se ve incapaz de encontrar ese archivo .dll con el nombre modificado, y al no encontrarlo no lo puede cargar, es decir, ya no estará en uso por el sistema (sin embargo, seguirán los restos del registro de ese archivo .dll en el registro de Windows).  



Espero que todo esto haya servido de algo, y se proceda a desinstalar aplicaciones con un par de neuronas si no se sabe bien lo que se está haciendo y las consecuencias que puede tener.

Saludos!