10Aug
Cuando desinstala un programa, es una expectativa "razonable" que se eliminen todos los rastros del mismo, pero a menudo no es el caso.¿Porqué es eso? La publicación SuperUser Q & A de hoy tiene las respuestas a la pregunta de un lector curioso.
Pregunta de hoy &La sesión de respuesta nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios web Q & A dirigida por la comunidad. Captura de pantalla de
cortesía de wandersick( Flickr).
El lector de SuperUser
de pregunta Mark Boulder quiere saber por qué algunos valores de registro permanecen siempre después de una desinstalación de software normal:
Expandir en el tema SuperUser ¿Cómo elimino rastros residuales de software desinstalado del registro, por qué es que cada vez que desinstaloun programa y luego lo busca a través de RegEdit, todavía está allí?
¿Por qué la mayoría de las aplicaciones de Windows tienen la intención de dejar pequeños rastros de sí mismos en el registro?¿La falla reside en Windows o con los desarrolladores?
¿Por qué los valores de registro generalmente se "dejan" después de desinstalar normalmente el software?
La respuesta
SuperUser Contribuyentes Lukas Rieger y Keltari tienen la respuesta para nosotros. Primero, Lukas Rieger:
Porque es imposible. El registro tiene múltiples nodos raíz pero solo dos interesantes: LocalMachine y CurrentUser. Normalmente, la configuración escribe valores en LocalMachine, y el programa en ejecución solo escribe en CurrentUser( en realidad, a menos que la configuración se confunda con los permisos, el programa en ejecución no puede escribir en LocalMachine).
Si bien mantener las sobras en LocalMachine es pereza( como se señala en las otras respuestas), no es posible limpiar la parte del Usuario Actual.
Si un programa se instala por máquina( la mayoría lo son) y varios usuarios lo usan, ¿qué debería hacer el desinstalador? Podría eliminar de forma segura la configuración de usuario de la cuenta actual, pero la cuenta actual podría no ser su cuenta. Esto sucede si inició el desinstalador desde una cuenta que no es de administrador y luego ingresó las credenciales de una cuenta de administrador, la configuración ahora se ejecuta bajo esa cuenta, no la primera.
¿Qué pasa con los otros usuarios? Podría tratar de enumerar a todos los usuarios, pero sus claves de registro podrían no estar cargadas( Windows es flojo y solo carga las cosas que necesita).
Pero ni siquiera deberías intentar eso. Si usa perfiles de itinerancia( es decir, servicios de terminal) y luego elimina todas las configuraciones en la desinstalación, podría realmente estropear y eliminar cosas que todavía están en uso. Un servidor de terminal es básicamente una máquina de Windows donde múltiples usuarios inician sesión al mismo tiempo y usan aplicaciones. Supongamos que tiene dos servidores de terminal ejecutando una aplicación. Desinstala la aplicación en TS1, ahora todas las configuraciones para todos los usuarios han desaparecido en TS2 porque tiene perfiles itinerantes. Oops.
Lo mismo se aplica a los archivos en los directorios por usuario. En la configuración de los programas de mi compañía, elimino las cosas por máquina, pero no toco las cosas por usuario, ni siquiera las del usuario que actualmente ejecuta la configuración.
Seguido por la respuesta de Keltari:
. Hay muchas razones por las cuales este es el caso, sin embargo, no es culpa de Microsoft o del sistema operativo Windows.
La siguiente es una lista de algunos casos y motivos por los que se dejan las entradas del registro:
Programación incorrecta : el desarrollador no ha escrito correctamente el desinstalador de la aplicación y las entradas de registro han quedado atrás. Además de eso, es posible que el desinstalador no tenga / use los permisos adecuados para eliminar las entradas de registro. También podría ser que haya más de una aplicación que use esas claves. Por ejemplo, dos aplicaciones del mismo desarrollador que escriben en las mismas claves.
dejado a propósito - Como se menciona en un comentario, estas entradas podrían haberse dejado a propósito. Algunas aplicaciones tienen un período de prueba y, después de ese período, puede optar por eliminar la aplicación. Si elige volver a instalar la aplicación más tarde, esas claves dan la información de la aplicación cuando se instaló.Además de eso, algunos desarrolladores pueden optar por dejar esas claves en caso de que elija reinstalar la aplicación. Si el desarrollador usó claves de registro para almacenar sus personalizaciones, es posible que las deje allí para que cuando reinstale la aplicación, todas sus personalizaciones persistan. En el gran esquema de cosas, las claves de registro solo toman unos pocos bytes.
¿Deberías quitar las llaves? Eso depende. El registro de Windows es un lugar peligroso para perder el tiempo. Usted puede romper su sistema inadvertidamente. Dejar las claves extrañas no dañará el sistema. Algunas personas dirán que limpiar / desfragmentar el registro acelerará su sistema, pero se ha probado que es falso repetidamente.
Si realmente desea deshacerse de esos programas, existen algunas herramientas de desinstalación que pueden eliminar cada rastro de un programa. Estos programas observarán el instalador de otro programa y registrarán todas las acciones realizadas en el sistema de archivos y el registro, y luego eliminarán por completo esas acciones. Un problema con estas herramientas es que es posible que puedan eliminar cosas que quizás desee conservar.
¿Tiene algo que agregar a la explicación? Suena apagado en los comentarios.¿Desea leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Mira el hilo de discusión completo aquí.