Por que as desinstalações normais não removem valores do registro?

20

Expandindo em Como removo vestígios residuais de software desinstalado do registro? - toda vez que eu desinstalo um programa e depois procuro pelo RegEdit, ele ainda está lá!

Por que a maioria dos aplicativos do Windows tem a intenção de deixar pequenos vestígios de si mesmos no registro? É culpa do Windows ou dos desenvolvedores?

Mark Boulder
fonte
3
Um grande grupo desses tipos de programas pertence a programas de avaliação que têm um limite de tempo e depois disso é necessário comprá-los. se eles não deixaram rastros no Windows, após o término do período de avaliação, você pode simplesmente desinstalar e reinstalar o software e redefinir o período de avaliação. Cabe aos desenvolvedores decidir como seus programas devem agir na desinstalação. existem programas e software de driver que são desinstalados completamente e removem tudo o que adicionam na instalação.
Conspiria 24/05

Respostas:

30

Porque é impossível.

O registro possui vários nós raiz, mas apenas dois interessantes: LocalMachine e CurrentUser . Normalmente, a instalação grava valores no LocalMachine e o programa em execução APENAS grava no CurrentUser (na verdade, a menos que a instalação altere as permissões, o programa em execução não pode gravar no LocalMachine.)

Embora guardar sobras no LocalMachine seja preguiçoso, como apontado pelas outras respostas, não é possível limpar a parte do Usuário.

Se um programa é instalado por máquina (qual a maioria) e vários usuários o utilizam, o que o desinstalador deve fazer? Ele pode remover com segurança as configurações de usuário da conta atual, mas a conta atual pode não ser sua conta. (Isso acontece se você iniciou o desinstalador a partir de uma conta não administrativa e inseriu as credenciais de uma conta administrativa - a configuração agora está sendo executada nessa conta, e não na primeira).

E os outros usuários? Ele pode tentar enumerar todos os usuários, mas suas chaves do Registro podem não estar carregadas. (O Windows é preguiçoso e carrega apenas o necessário.)

Mas você nem deveria tentar isso. Se você usar perfis de roaming, por exemplo, para serviços de terminal e excluir todas as configurações na desinstalação, poderá realmente atrapalhar e excluir as coisas que ainda estão em uso.

Um servidor de terminal é basicamente uma máquina Windows em que vários usuários efetuam login ao mesmo tempo e usam aplicativos.

Digamos que você tenha dois servidores de terminal executando um aplicativo. Você desinstala o aplicativo no TS1, agora todas as configurações para todos os usuários desaparecem no TS2 porque você possui perfis móveis. oops.

O mesmo se aplica aos arquivos nos diretórios por usuário.

Na configuração do programa de minha empresa, excluo as coisas por máquina, mas não toco nas coisas por usuário, nem mesmo no usuário que está executando a instalação.

Lukas Rieger
fonte
Além disso, não esqueça que desinstalar não significa necessariamente se livrar completamente de um aplicativo: às vezes você desinstala a versão 1 de um aplicativo e instala a versão 2 do mesmo aplicativo - nesse caso, você não deseja perder todas as suas configurações.
Stefan
19

Há muitas razões para que isso aconteça, no entanto, não é culpa da Microsoft ou dos sistemas operacionais Windows.

A seguir, é apresentada uma lista de alguns casos e razões para deixar as entradas do registro:

  • Programação ruim - O desenvolvedor não gravou o desinstalador de aplicativos corretamente e as entradas do registro são deixadas para trás. Além disso, o desinstalador pode não ter / usar as permissões apropriadas para remover as entradas do registro. Também pode ser que haja mais de um aplicativo que use essas chaves. Por exemplo, dois aplicativos do mesmo desenvolvedor, que gravam nas mesmas chaves.

  • Deixado de propósito - Como um comentário mencionado, essas entradas poderiam ter sido deixadas de propósito. Alguns aplicativos têm um período de avaliação e, após esse período, você pode optar por remover o aplicativo. Se você optar por reinstalar o aplicativo posteriormente, essas chaves fornecerão informações sobre o aplicativo quando ele foi instalado. Além disso, alguns desenvolvedores podem optar por deixar essas chaves no caso de você optar por reinstalar o aplicativo. Se o desenvolvedor usou chaves do Registro para armazenar suas personalizações, ele poderá deixá-las lá, portanto, quando você reinstalar, todas as suas personalizações persistirão. No esquema geral, as chaves do registro ocupam apenas alguns bytes.

Você deve remover as chaves? Depende. O registro do Windows é um local perigoso para se mexer. Você pode inadvertidamente interromper o sistema. Deixar as chaves estranhas não prejudicará o sistema. Algumas pessoas dizem que limpar / desfragmentar o registro acelerará o sistema, mas isso foi provado falso repetidamente.

Se você realmente deseja se livrar desses programas, existem algumas ferramentas de desinstalação que podem remover todos os vestígios de um programa. Esses programas observam o instalador de outro programa e registram todas as ações realizadas no sistema de arquivos e no registro e, em seguida, removem completamente essas ações. Um problema com essas ferramentas é que é possível que elas possam remover as coisas que você deseja manter.

Keltari
fonte
Apesar de serem "alguns bytes", esses bytes se somam. Isso pode fazer com que o registro fique mais lento à medida que mais e mais entradas não utilizadas se acumulam. Provavelmente não é relevante para um usuário "típico", mas usuários pesados ​​terão um problema maior. Por isso, era comum recomendar a atualização / reinstalação do Windows a cada 6 a 12 meses para manter o sistema "íntegro". Programas como o CCleaner podem manter o sistema mais rápido por mais tempo, limpando as sobras dos aplicativos.
Phyrfox 24/05
3
@phyrfox como indicado na minha resposta, os limpadores de registro são óleo de cobra. eles não ajudam em nada.
Keltari 24/05
1
Nos dias Win9x, o tamanho do registro importava e muitas chaves antigas desaceleravam o sistema operacional. Mas isso foi há muito tempo e a indústria do NT é uma fera diferente. Embora, às vezes precisam ser consertadas: Como comprimir "inchado" Registro Hives
beatcracker
10
@phyrfox: "Programas como o CCleaner podem manter o sistema mais rápido por mais tempo" - Não, eles não. "É por isso que era comum recomendar a atualização / reinstalação do Windows a cada 6 a 12 meses para manter o sistema" saudável "." - Típico porque as pessoas não sabem como cuidar de seus sistemas. Estou sentado aqui, digitando uma instalação de 5 anos que foi muito usada e não houve uma desaceleração significativa. São recomendações como essas que mantêm as empresas vendendo óleo de cobra nos negócios.
Karan
1
Sim, o registro é realmente muito rápido (e as colmeias e chaves usadas com frequência são geralmente mantidas na memória). Mesmo nos velhos tempos, o maior problema com o registro "inchado" era com extensões de shell e HKCR - elas voltavam assim que você reinstalava o software que as fornecia. Faz muito tempo que eu reinstalei o SO por razões de "desempenho" da última vez (ainda no Windows XP, nunca no 7).
Luaan 25/05
0

Para se livrar do sobra de registro, tente usar o desinstalador IOBIT.É de longe o melhor desinstalador disponível.Além disso, ele é gratuito .. eu uso o tempo todo ... a chave de registro que resta, clique na caixa de seleção quando solicitado e as chaves de registro excluídas. O Iobit vem com outros programas, basta usar o desinstalador para se livrar deles

newtobeingageektech
fonte