Por que existem tantos redistribuíveis do Visual C ++?

19

Toda vez que eu instalo um jogo, ou mesmo o OpenOffice, parte da rotina de instalação é instalar outro redistribuível do Visual C ++ 2005/2008, bem ao lado dos outros 10 que eu já tenho no meu sistema.

Por que tantas versões diferentes (do que parece a mesma coisa) são necessárias?

    
por Tomalak 08.08.2010 / 12:44

3 respostas

22

Redistribuíveis do Visual C ++ são componentes fornecidos por desenvolvedores de aplicativos que usam o Visual C ++ para gravar seu software. Usando o código testado e amplamente usado da Microsoft dentro de seus aplicativos, os desenvolvedores economizam seu custo de desenvolvimento evitando escrever códigos comumente usados (por exemplo, funções de sin e cos e manipulação de elementos comuns da interface do usuário, como caixa de texto ou botão). Devido à fragmentação nas versões de tempo de execução usadas pelos desenvolvedores do aplicativo, você veria uma longa lista de redistribuições do Visual C ++ se você instalasse muitos aplicativos. Desinstalar um redistribuível do Visual C ++ pode economizar alguns megabytes de espaço em disco, mas você corre o risco de quebrar alguns aplicativos ao fazer isso.

Como os programadores confiam na Microsoft para manter o tempo de execução do Visual C ++ atualizado, a Microsoft libera a atualização de segurança para os redistribuíveis, mas devido às demandas do programador, os redistribuíveis do Visual C ++ não substituem uns aos outros e versões antigas são mantidas para compatibilidade. Alguns aplicativos são muito específicos sobre a versão do Visual C ++ dlls de que precisam para garantir que o aplicativo seja executado exatamente conforme publicado. Seus autores mantêm a atualização para o último tempo de execução até que testaram a compatibilidade do aplicativo com o novo tempo de execução. É uma maneira de evitar alguns milhares de chamadas de clientes irritados depois que a Microsoft lança uma atualização para o redistribuível. A maioria dos aplicativos, no entanto, vincula-se à edição mais recente da mesma versão principal, pois é o comportamento padrão e o benefício de atualizações de segurança imediatas e sem esforço supera os riscos de quebrar as alterações entregues pelas atualizações redistribuíveis.

A Microsoft também tem que suportar muitos tempos de execução do Visual C ++ porque não tem idéia de qual deles o desenvolvedor do aplicativo escolheria. Várias versões do Visual C ++ redistribuíveis podem ser necessárias até mesmo no mesmo aplicativo, por exemplo, se um aplicativo que depende do Visual C ++ 2008 redistribuível usar um componente que depende do Visual C ++ 2005 redistribuível, o desenvolvedor do aplicativo deve enviar as duas versões do Visual C ++ redistribuíveis. Em um computador de 64 bits, o sistema pode ter as edições x86 e x64 do Visual C ++ Redistributables instaladas, já que o Visual C ++ redistribuível é um componente comumente usado e é normal ter aplicativos de 32 bits e de 64 bits (ou até mesmo aplicativos que contenham código de 32 bits e código de 64 bits) instalado em um sistema de 64 bits.

Provavelmente você pode encontrar o aplicativo instalando um redistribuível procurando um aplicativo com a mesma data de instalação que o redistribuível, mas não há como informar quantos outros aplicativos com uma data de instalação posterior dependem o mesmo redistribuível. A quantidade de tempo que você gasta para encontrar a dependência exata provavelmente não vale os poucos megabytes que você pode economizar desinstalando os redistribuíveis.

    
por 12.07.2013 / 21:31
3

A razão é que eles não são a mesma coisa. Primeiro você precisa entender que cada versão do MSVC ++ vem com sua própria versão de bibliotecas de tempo de execução. Existem também versões de 32 e 64 bits. Além disso, há service packs trazem versões atualizadas de bibliotecas de tempo de execução.

Se você tiver 10 instalações, poderá listar seus nomes? Eu não acho que você deveria ter mais de 4 (32 e 64 bits para 2005 e mesmo para 2008). Os service packs devem substituir versões não atualizadas.

    
por 08.08.2010 / 14:33
1

Existem muitas versões dos arquivos redistribuíveis em C ++, a menos que você saiba precisamente qual programa usará o arquivo, remova até mesmo um programa, e todos os que o utilizaram serão desabilitados permanentemente, a menos que sejam reinstalados.

Aqueles que têm muitos programas instalados terão muitas versões deles. A Microsoft permite que ela seja redistribuída, então, em vez de inventar um código novo a cada vez, um desenvolvedor pode simplesmente colocar um desses para você.

Eles são pequenos e não são grandes o suficiente para se preocupar. Muitos deles são apenas KB, alguns são MB e melhores que programas com GB.

Eu sei que é irritante ver muitos deles lá (eu tenho 21 deles), mas deixe-os em paz, seus programas serão encerrados se você removê-los. Também seria bom se os desenvolvedores de programas também os rotulassem para o programa individual, mas se tivessem, teriam centenas a mais. Neste momento, os programas se aproveitam deles, o que permite que os programas usem a codificação do antigo e do novo.

Eu sou formado em redes de computadores. Eu não lhe diria nada para fazer no seu computador que eu não fizesse para o meu próprio

    
por 24.07.2014 / 18:12