Infelizmente há muitos anos os internautas se acostumaram a instalar programas inúteis e até danosos ao Windows ao lerem artigos de jornalistas e youtubers despreparados que sugerem o seu uso por pura falta de conhecimento sobre Windows.
Além dos otimizadores de PC, programas que atualizam drivers (que só devem ser utilizados em cenários específicos) e programas que “otimizam a memória RAM” ou “desfragmentam o Registro”, eles também incentivam o uso de desinstaladores de programas como o Revo Uninstaller, Ashampoo Uninstaller e IOBit Uninstaller – programas esses que obviamente são totalmente desnecessários.
Da mesma maneira que os otimizadores de PC, programas genéricos de desinstalação de software fizeram muito sucesso nos anos 90 por causa do “DLL Hell”, aonde arquivos (bibliotecas) .dll eram compartilhados entre vários programas – e quando algum programa atualizava uma desses arquivos, os demais programas que utilizavam ele apresentavam problemas.
Com isso, a remoção de um programa podia causar problemas em outros programas, principalmente quando um arquivo utilizado por vários programas era removido por um dos programas.
A Microsoft resolveu o DLL Hell no Windows 98SE com o WinSxS (“Side by Side” cuja tradução é “Lado a Lado”), uma funcionalidade que permite que o Windows execute simultaneamente várias bibliotecas DLL que tenham o mesmo nome, mas versões diferentes, sem haver nenhuma incompatibilidade ou problema.
Embora o WinSxS tenha resolvido definitivamente esse problema, o armazenamento de várias bibliotecas iguais exige mais espaço em disco do que se houvesse apenas uma única versão dela – embora esse problema é minimizado hoje em dia com discos rígidos e SSD com capacidades cada vez maiores.
Se você quer saber quais são as bibliotecas (.dll) que estão sendo compartilhadas no seu Windows, abra o Registro e acesse a chave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs. Ali você tem a lista das bibliotecas e quantos programas estão compartilhando elas (número entre parêntese em Dados), aonde no exemplo abaixo a biblioteca msdia90.dll é utilizada por dois programas.
Quando um dos programas que compartilha essa biblioteca DLL é desinstalado, ele diminui 1 do valor do total de programas compartilhados, e quando um novo programa é instalado, ele adiciona 1 ali.
Algumas empresas curiosamente colocam valores altíssimos em bibliotecas que ela não quer que sejam desinstaladas, como a Microsoft faz no caso do .NET Framework 1.0 que indica 8191 programas compartilhando-as 😉 :
Embora a DLL Hell faça parte de um passado distante, os internautas continuaram a usar desnecessariamente esses desinstaladores de programas por não saber que eles são totalmente dispensáveis – principalmente no caso de um programa não ser desinstalado corretamente via Painel de Controle.
A desinstalação de programas no Windows deve ser OBRIGATORIAMENTE REALIZADA através do Painel de Controle > Programas e Recursos e JAMAIS através de qualquer programas genérico de desinstalação de software
Entenda o motivo na próxima página
Instalando um programa no Windows
Quando um programa x86 ou x64 é instalado no Windows, em geral ele realiza quatro tarefas básicas:
1. Ele cria uma pasta em \Arquivos de Programas (se o programa for 64-bits) ou \Arquivos de Programas (x86) (se o programa for 32-bits)
2. Ele também cria uma nova pasta em C:\ProgramData\ aonde o programa salva arquivos, configuração, log e arquivos de cache que são utilizados pelo programa, independentemente do usuário
3. Uma nova pasta é criada em C:\Usuários\<usuário>\AppData\Local aonde são salvos arquivos, configurações, logs e arquivos de cache para cada usuário
4. São criadas algumas chaves no Registro aonde são salvas informações sobre o programa, sua ativação (se existir) e configurações gerais
O programa pode eventualmente copiar alguns arquivos para a pasta \Windows\System32 (como programas da HP ou Epson que gerenciam seus drivers, por exemplo), C:\Usuários\<usuário>\AppData\Roaming (pasta que serve para armazenar arquivos que serão compartilhados de acordo com o perfil do usuário, como arquivos do navegador, por exemplo), etc.
Desinstalando um programa no Windows
Quando um programa é instalado no Windows, ele também salva um arquivo executável que desfaz o que foi realizado na instalação: o “desinstalador” do programa. Esse arquivo é executado quando o usuário resolve desinstalar o programa via Painel de Controle, ou seja, na realidade não é o sistema operacional que desinstala o programa, mas sim um arquivo de desinstalação criado pelo próprio desenvolvedor do software.
Isso acontece pois o Windows não monitora nem audita quais pastas e arquivos foram copiados ou criados durante a instalação de um programa, embora existam programas que fazem isso – inclusive da própria Microsoft, como o antigo mas eficiente Windows System State Analyser:
Ao desinstalar o programa via Painel de Controle, o “desinstalador” desse programa é executado e ele (teoricamente) remove todos os arquivos e pastas criados na instalação, juntamente com as chaves criadas no Registro.
O desinstalador do programa usualmente tem o nome uninst.exe, uninstall.exe ou algo similar e encontra-se dentro da pasta aonde o programa está instalado como os exemplos do 7-Zip e CCleaner na imagem abaixo), ou ele é um arquivo .msi (Windows Installer que também contém instruções informações necessárias para a desinstalação do programa) dentro da pasta escondida \Windows\Installer, como os exemplos do PerfectDisk e VMWare abaixo:
Se por algum motivo o desinstalador não funciona (por qualquer motivo que seja), os arquivos e pastas originalmente copiados continuam no disco rígido ocupando desnecessariamente espaço ali – e evidentemente o culpado por isso não é o Windows ou o Painel de Controle (como alguns internautas argumentam!), mas sim a rotina de desinstalação criada pelo próprio desenvolvedor do programa.
E quando acontece isso, o usuário instala programas que removem esses arquivos “soltos”, sem saber que o que eles fazem é simplesmente acessar as pastas criadas pelos programas que não foram desinstalados corretamente e eliminar ali a pasta e todos os arquivos dentro dela. Além disso, esses programas apagam no Registro todas as chaves relacionadas ao programa em questão e “vasculham” o disco rígido em busca de arquivos “perdidos”.
O uso de programas que desinstalam outros programas é desnecessário por dois motivos:
1. Vasculhar o HD em busca de arquivos “perdidos” é muito perigoso quando esse arquivo é compartilhado por outros programas sem que um desses programas informe corretamente o Windows disso.
2. O fato dos arquivos de um programa continuarem ali sem serem usados não influencia EM NADA o desempenho do Windows, pois o que deixa o Windows lento é o pouco espaço em disco e a alta fragmentação dos arquivos.
Na próxima página você verá como é simples remover manualmente um programa