Чому існує так багато різних перерозподілюваних Visual C ++?


19

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

Чому потрібна стільки різних версій (того, що відчувається однаково)?


Я не встановлював OpenOffice в Windows останнім часом, але AFAIK OO.org чиста Java. Це тривожно!
lajuette

2
OO.org - це фактично C ++ з деякими компонентами Java ( джерело ).
важкий

це не рідкість. Я хотів би, щоб був спосіб візуально їх згорнути в програмах для додавання / видалення, так що вам не доведеться їх бачити всі.
Keltari

Відповіді:


22

Передані Visual C ++ - це компоненти, що постачаються розробниками додатків, які використовують Visual C ++ для написання свого програмного забезпечення. Використовуючи добре перевірений і широко використовуваний код Microsoft всередині своїх додатків, розробники заощаджують свої витрати на розробку, уникаючи написання часто використовуваного коду (наприклад, функцій sin і cos math та обробки звичайних елементів інтерфейсу користувача, таких як текстове поле або кнопка). Через фрагментацію версій виконання, які використовуються розробниками додатків, ви побачите довгий список перерозподілів Visual C ++, якщо встановити багато додатків. Видалення одного перерозподілюваного Visual C ++ може заощадити кілька мегабайт дискового простору, але ви ризикуєте зламати деякі програми, роблячи це.

Оскільки програмісти покладаються на Microsoft, щоб оновити час виконання Visual C ++, Microsoft випускає оновлення безпеки для перерозподілюваних файлів, однак через вимоги програмістів, перерозподільні версії Visual C ++ не витісняють один одного, а старі версії зберігаються для сумісності. Деякі додатки дуже специфічні щодо тієї версії вікон, які потрібні Visual C ++, щоб переконатися, що програма працює точно так, як опублікована. Їх автори продовжують оновлюватись до останнього часу виконання, поки вони не перевірять сумісність свого додатка з новим режимом виконання. Це один із способів запобігти кілька тисяч дзвінків від розлючених клієнтів після того, як 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-бітній системі.

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


Це дуже гарна відповідь. Розробники також орієнтуються на конкретні версії. Функція у випуску A не гарантується, що вона працює так само, як у випуску B. Звичайно, насправді основні залишатимуться однаковими між випусками, новими функціями Feature C, які існують у випуску B та пізніших версіях, та Feature C, що існує лише у Реліз C - справжня проблема, з якою стикаються розробники. Тому вони розповсюджують версію, яку вони використовували, і компілюють програмне забезпечення, щоб використовувати лише цю версію. У цьому конкретному випадку можливі декілька випусків дати перерозподілу C ++ однієї версії (наприклад, лютий, березень, квітень 2005 р.).
Рамхаунд

3

Причина в тому, що вони не одне і те ж. Спочатку потрібно зрозуміти, що кожна версія MSVC ++ постачається зі своєю версією бібліотек виконання. Також є 32 та 64 бітні версії. Також є сервісні пакети, які приносять оновлені версії бібліотек виконання.

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


1
Я вважаю, що це правильно - я знаю лише 4, про які я знаю, і тут вдосконалення полягає в тому, що їх тепер можна встановити поруч. Необхідна збірка залежить від того, чи було застосовано додаток, щоб статично чи динамічно посилатися на час виконання, який використовується при складанні програми. Вони можуть співіснувати мирно і відносно невеликі.
jtreser

+2 більше для VS2010! Але все ж, якщо ОП має 10, це занадто багато.
AndrejaKo

Ну, правда, я їх не рахував. На моїй машині на роботі у мене два (32-бітний і 64-ти бітний, обидва 9,0. щось). Я їх порахую і вдома.
Томалак

3
У мене 12 перерахованих. 2005 (2) (специфікація чи версія не вказані) 2008 (8) x32 / x64 9.0.21022, 9.0.30729.17, 9.0.30729.4148, 9.0.30729.6161 2010 (2) x32 / x64 10.0.40219
Даррен Хол,

1
@DarrenHall - Це нормально мати стільки. Кожна версія є різницею, і у вас є програми, націлені на ці конкретні версії.
Рамхаунд

1

Існує багато версій файлів, що перерозподіляються на C ++, якщо ви точно не знаєте, яка програма буде використовувати цей файл, видаліть навіть один a та кожну програму, яка його використовувала, буде відключена назавжди, якщо не буде встановлена ​​повторно.

Ті, у кого встановлено багато програм, матимуть безліч їх версій. Microsoft дозволяє його перерозподілити, тому замість того, щоб вигадувати новий код кожен раз, розробник може просто випустити один із них.

Вони крихітні і недостатньо великі, щоб переживати. Багато з них лише KB, кілька - MB, і краще, ніж програми, що є ГБ.

Я знаю, що засмучує багато з них там (у мене їх 21), але залиште їх у спокої, ваші програми закриються, якщо ви їх видалите. Було б також непогано, якби розробники програм також позначали їх окремою програмою, але якби вони були у вас, було б ще сотні. Зараз програми відключають їх, що дозволяє програмам використовувати кодування як із старих, так і з нових.

Я маю ступінь з комп'ютерних мереж. Я б не сказав тобі нічого робити з комп’ютером, що я б не робив самостійно

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.