26Aug

Por que você não pode desinstalar vários programas simultaneamente no Windows?

why-are-you-unable-to-uninstall-multiple-programs-simultaneamente-em-windows-00

Suponha que você tenha uma pequena horda de programas que deseja desinstalar no seu sistema Windows, mas o Windows só permitirá que você desinstale um de cada vez. Por que é que? O que está impedindo você de desinstalar vários programas simultaneamente?

Pergunta de hoje e amp;A sessão de atendimento chega a cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento comunitário de sites Q & A.

A pergunta

Leitor de superutilizador Jeroen Bollen quer saber por que uma pessoa não consegue desinstalar vários programas simultaneamente no Windows:

Por que o Windows o impede de desinstalar ou remover múltiplos programas simultaneamente? Qual é o raciocínio por trás disso? Será que ele estragará um sistema interno?

Eu não quero desinstalar vários programas simultaneamente, estou simplesmente procurando o( s) motivo( s) por que não seria uma opção.

O que é que impede as pessoas de desinstalar vários programas simultaneamente no Windows?

A resposta

SuperUser contribuintes ultrasawblade e techie007 têm a resposta para nós. Primeiro, lâmina ultrasaw:

Se você ler algo sobre o funcionamento do sistema de instalação do Windows, é óbvio que eles aplicaram algumas idéias de bancos de dados transacionais para a instalação e manutenção do programa, sem mencionar que os arquivos. msi são um banco de dados.

Sempre há a questão na concepção de qualquer banco de dados - você quer velocidade ou precisão / segurança? Dado que os instaladores podem modificar a configuração de um sistema e que um acidente pode tornar o sistema inoperável, a segurança recebeu uma prioridade sobre a velocidade.

Uma das razões pelas quais os instaladores . msi são tão lentos porque os arquivos de reversão são feitos para cada arquivo, etc., que serão modificados, depois serão eliminados depois, permitindo que qualquer alteração seja "revertida" se algo der errado nameio de coisas( como uma falha de energia ou falha no sistema).

Agora, acredito que o próprio mecanismo MSI impõe instalar, modificar ou remover apenas um programa por vez. Se você tentar executar um arquivo . msi enquanto outro estiver desinstalando, por exemplo, ele não será executado ou aguardará o processo de desinstalação atualmente em execução. Os instaladores não-MSI podem não se comportar desta forma, uma vez que não utilizam o motor MSI.Mas, devido a esta decisão de design de segurança, é provavelmente por isso que appwiz.cpl insiste em deixar que apenas um desinstalador seja chamado de uma só vez.

CCleaner permite que você inicie os desinstaladores sem esperar que os executantes anteriores terminem, mas os instaladores do MSI provavelmente ainda não funcionarão em paralelo devido ao acima.

Seguido pela resposta do techie007:

Isso só se aplica aos programas que usam o sistema Windows Installer.

Se um programa usa seus próprios sistemas( não) instaladores, não há nada que o impede de executar outro desinstalador ao mesmo tempo.

O Windows Installer limita o número de instâncias para evitar conflitos sendo feitos por vários programas enquanto eles estão mudando as configurações e os arquivos do sistema( em geral compartilhados).

A maioria dos desinstaladores acompanha o que eles estão mudando para que eles possam reverter com sucesso se houver uma falha. Se alguém não estiver ciente de todas as mudanças que estão sendo feitas( por outros desinstaladores), então pode realmente fazer as coisas MAU, se tentar reverter uma instalação com falha.

O sistema Windows Installer foi criado com a intenção de ser um sistema unificado para todos os desenvolvedores de aplicativos para usar( no Windows) para ajudar a evitar problemas como esses.

Tem alguma coisa a adicionar à explicação? Som desligado nos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui.