Onde o Windows armazena o mapa de arquivos para desinstalar programas?

1

Quando você desinstala um programa, o Windows localiza todos os arquivos de programas e os exclui, onde armazena o arquivo que contém todos os caminhos desses arquivos? (Especificamente o Windows 7). Desculpe, se esta é uma duplicata, é difícil pronunciar esta questão:)

EDIT # 1: Eu vi isso , mas eu quero saber para todos os programas, não apenas .msi 's.

    
por Noah Cristino 11.06.2017 / 01:30

2 respostas

1

A localização da informação de desinstalação pode variar dependendo do programa. Para alguns programas, por exemplo, aqueles que você vê em "Desinstalar ou alterar um programa", se você tentar desinstalar um programa através do Painel de Controle , você pode encontrar o programa que desinstalará o software em a chave de registro do Windows HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall ou HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall . Alguns podem estar em um desses locais no registro, enquanto outros podem estar sob o outro local do registro.

Você pode executar o regedit do editor de registro e navegar até esses locais no registro. Se você olhar as chaves de um determinado programa, poderá ver uma chamada UninstallString que apontará para o local do programa que será executado quando você escolher desinstalar o programa através do Painel de Controle. Esse programa de desinstalação é normalmente no diretório onde os arquivos do programa foram colocados. Para alguns programas, você pode ver uma chave InstallLocation sob uma entrada com um nome correspondente ao nome do programa relevante que aponta para o diretório onde os arquivos do programa estão localizados.

    
por 11.06.2017 / 03:06
1

É de inteira responsabilidade do fornecedor de cada aplicativo fornecer um desinstalador. Não existe um local padrão universal onde a lista de arquivos / registros que precisam ser removidos seja armazenada. É por isso que muitos programas deixam uma tonelada de lixo em todo o disco rígido. A maioria dos programas simplesmente não se limpa muito bem.

A maioria dos fornecedores de software empacota seu software em um instalador de terceiros, sendo que os mais comuns são o InstallShield (Flexera Software) ou o Microsoft Windows Installer ( .msi ). Esses produtos de instalação permitem que os fornecedores de software definam tabelas que contenham todos os arquivos e configurações de registro na carga útil e para onde eles vão. Eles também fornecem uma linguagem de script que os fornecedores podem usar para tomar decisões durante o processo de instalação.

Esses produtos facilitam a implantação de aplicativos para os fornecedores sem a necessidade de escrever suas próprias rotinas de instalação, mas o ponto é que ainda cabe a cada fornecedor realmente usar esses recursos. Tanto a Microsoft quanto o InstallShield geram automaticamente uma rotina de desinstalação básica para você quando você cria um projeto, mas apenas remove as configurações de arquivos e registros listadas nas tabelas - desde que não tenham sido alteradas. Eles não removerão nada adicionado depois de qualquer configuração no diretório do usuário e, por padrão, não aplicarão nenhuma inteligência à desinstalação. Se alguma coisa é ambígua, fica sozinha.

É por esta razão que os desinstaladores são tão desleixados e porque é praticamente impossível remover uma aplicação de forma limpa quando o fornecedor estava com preguiça de pensar em tais coisas (ou pior, no caso do crapware, não quer que você desinstale seu aplicativo).

    
por 11.06.2017 / 05:02