19

Каждый раз, когда я устанавливаю игру или даже OpenOffice, часть процедуры установки устанавливает еще один распространяемый Visual C++ 2005/2008, прямо рядом с 10 другими, которые у меня уже есть в моей системе.

Почему так много разных версий (того, что кажется одним и тем же) необходимы?

3 ответа3

22

Распространяемые файлы Visual C++ - это компоненты, поставляемые разработчиками приложений, которые используют Visual C++ для написания своего программного обеспечения. Используя хорошо проверенный и широко используемый код Microsoft в своих приложениях, разработчики снижают затраты на разработку, избегая написания часто используемого кода (например, функций sin и cos math и обработки общих элементов пользовательского интерфейса, таких как текстовое поле или кнопка). Из-за фрагментации версий времени выполнения, используемых разработчиками приложений, вы увидите длинный список распространяемых файлов Visual C++, если вы установите много приложений. Удаление одного распространяемого Visual C++ может сэкономить несколько мегабайт дискового пространства, но при этом вы рискуете сломать некоторые приложения.

Поскольку программисты полагаются на то, что Microsoft поддерживает актуальность Visual C++, Microsoft выпускает обновление безопасности для распространяемых пакетов, но из-за требований программистов распространяемые файлы Visual C++ не заменяют друг друга, а старые версии сохраняются для совместимости. Некоторые приложения очень точны в отношении версии библиотек Visual C++, которая требуется для обеспечения того, чтобы приложение работало точно так же, как опубликовано. Их авторы продолжают обновляться до последней среды выполнения, пока не проверят совместимость своего приложения с новой средой выполнения. Это один из способов предотвратить несколько тысяч звонков от недовольных клиентов после того, как Microsoft выпустит обновление для распространяемого пакета. Однако большинство приложений привязаны к последней версии той же основной версии, так как это поведение по умолчанию, а выгода от немедленных и простых обновлений безопасности перевешивает риски, связанные с нарушением изменений, предоставляемых распространяемыми обновлениями.

Microsoft также должна поддерживать множество сред выполнения Visual C++, потому что она не знает, какой из них выберет разработчик приложения. Несколько версий распространяемых таблиц Visual C++ могут потребоваться даже в рамках одного и того же приложения, например, если приложение, зависящее от распространяемого Visual C++ 2008, использует компонент, зависящий от распространяемого Visual C++ 2005, разработчик приложения должен предоставить обе версии распространяемых Visual C++. На 64-разрядном компьютере в системе могут быть установлены как x86, так и x64 выпуски распространяемых Visual C++, поскольку распространяемый Visual C++ является широко используемым компонентом, и обычно есть как 32-разрядные приложения, так и 64-разрядные приложения (или даже приложения, содержащие как 32-битный код, так и 64-битный код), установленный в 64-битной системе.

Вероятно, вы можете найти приложение, устанавливающее распространяемый дистрибутив, выполнив поиск приложения с той же датой установки, что и распространяемый, но невозможно сказать, сколько других приложений с более поздней датой установки зависит от того же распространяемого. Время, которое вы тратите на поиск точной зависимости, скорее всего, не будет стоить тех нескольких мегабайт, которые вы можете сэкономить, удалив распространяемые файлы.

3

Причина в том, что они не одно и то же. Во-первых, вы должны понимать, что каждая версия MSVC++ поставляется со своей версией библиотек времени выполнения. Есть также 32- и 64-битные версии. Также есть сервисные пакеты с обновленными версиями библиотек времени выполнения.

Если у вас есть 10 установок, можете ли вы перечислить их имена? Я не думаю, что у вас должно быть больше 4 (32 и 64 бит в 2005 году и то же самое в 2008 году). Пакеты обновлений должны заменять не обновленные версии.

1

Существует много версий распространяемых файлов C++, если только вы точно не знаете, какая программа будет использовать этот файл, удалите хотя бы одну a, и каждая использовавшая его программа отключится навсегда, если не будет переустановлена.

У тех, у кого установлено много программ, будет много версий. Microsoft позволяет распространять его, поэтому вместо того, чтобы каждый раз придумывать новый код, разработчик может просто выбрать один из них для вас.

Они крошечные и недостаточно большие, чтобы о них беспокоиться. Многие из них имеют размер только в КБ, некоторые - в МБ, и лучше, чем программы в ГБ.

Я знаю, что неприятно видеть там многих из них (у меня их 21), но если оставить их в покое, ваши программы будут закрыты, если вы их удалите. Также было бы неплохо, если бы разработчики программ также пометили их для отдельной программы, но если бы они сделали это, у вас было бы еще сотни. Прямо сейчас программы соединяют их, что позволяет программам использовать кодирование как из старого, так и из нового.

У меня есть степень в области компьютерных сетей. Я бы не сказал вам ничего сделать с вашим компьютером, что я бы не сделал с моим собственным

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .