![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Сфера Microsoft » Программное обеспечение Windows » Мультимедиа - Вопрос об установке программы - C++2012 |
|
|
Мультимедиа - Вопрос об установке программы - C++2012
|
Старожил Сообщения: 152 |
Здравствуйте, подскажите пожалуйста, существует четыре версии программы C++2012, а именно: 11.0.50727.1; 11.0.51106.1; 11.0.60610.1 и самая новая версия - 11.0.61030.0
Мой вопрос: если я установлю самую новую версию - 11.0.61030.0, а для работы игры, например, потребуется более ранняя версия - 11.0.51106.1, то игра заработает или нет, т.е. самая новая версия включает в себя и все более старые версии или нужно устанавливать каждую версию программы C++2012? Заранее спасибо за Ваши ответы. |
|
Отправлено: 14:43, 02-02-2014 |
![]() Старожил Сообщения: 227
|
Цитата doc11111:
Цитата doc11111:
|
||
Отправлено: 15:47, 02-02-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Сообщения: 53585
|
Профиль | Отправить PM | Цитировать Цитата doc11111:
Цитата Demetriadis:
Но даже 2005 и 2008 обычно содержали в манифестах директивы bindingRedirect, например: <bindingRedirect oldVersion="9.0.20718.0-9.0.21022.8" newVersion="9.0.30729.6161"/> <bindingRedirect oldVersion="9.0.30201.0-9.0.30729.6161" newVersion="9.0.30729.6161"/> Цитата Demetriadis:
Но в данной теме речь идет исключительно о VC 2012. |
|||
Отправлено: 18:17, 02-02-2014 | #3 |
![]() Старожил Сообщения: 227
|
Цитата doc11111:
Цитата Petya V4sechkin:
Цитата Petya V4sechkin:
Возможно, это просто записи, a файлы обновляются. Цитата:
Цитата:
|
|||||
Отправлено: 19:03, 02-02-2014 | #4 |
Сообщения: 53585
|
Профиль | Отправить PM | Цитировать Цитата Demetriadis:
P. S. Конечно, 2008 и 2012 (и остальные) друг с другом никак не связаны и не являются взаимозаменяемыми. |
||
Отправлено: 19:31, 02-02-2014 | #5 |
![]() Старожил Сообщения: 227
|
Petya V4sechkin, Не подсунет. Проверялось на многих игр. Все равно будет требовать установки именно той версии, под которую заточена данная игра.
Исполняемый файл (exe файл, который вдобавок еще и как правило патченный) игры в не обладает такой логикой и не читает манифесты. Даже в библиотеке Steam (лицензионные игры) в дистрибутив игр добавляется и устанавливается(в тихом режиме) собственная версия библиотек VС++. Если следовать вашему примеру, тогда вообще не нужно ничего добавлять в дистрибутив, а ограничиться установкой обновлений из Microsoft Update. |
Последний раз редактировалось Demetriadis, 05-02-2014 в 10:02. Отправлено: 09:52, 05-02-2014 | #6 |
Сообщения: 53585
|
Профиль | Отправить PM | Цитировать Цитата Demetriadis:
Возьмем для примера какую-нибудь старую программу, типа 3DMark 2006. В ее файлах Exporter.dll и SI3.dll есть манифесты с зависимостями: <dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
Но есть VC 2005 8.0.50727.6195 (соответствует SP1 с MFC Security Update). Там в файле x86_policy.8.0.microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_517205a10f4550e3.manifest директива bindingRedirect: <bindingRedirect oldVersion="8.0.41204.256-8.0.50608.0" newVersion="8.0.50727.6195"/> <bindingRedirect oldVersion="8.0.50727.42-8.0.50727.6195" newVersion="8.0.50727.6195"/> <bindingRedirect oldVersion="8.0.41204.256-8.0.50608.0" newVersion="8.0.50727.6910"/> <bindingRedirect oldVersion="8.0.50727.42-8.0.50727.6910" newVersion="8.0.50727.6910"/> Если вы по-прежнему мне не верите, вот события из Process Monitor: 3DMark06.exe 4048 Load Image C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6910_none_d089c358442de345\msvcp80.dll SUCCESS Image Base: 0x6aae0000, Image Size: 0x87000 0.0000000 3DMark06.exe 4048 Load Image C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6910_none_d089c358442de345\msvcr80.dll SUCCESS Image Base: 0x689e0000, Image Size: 0x9b000 0.0000000 Игры/приложения, требующие VC 2012, просто грузят нужные им библиотеки из System32 (или SysWOW64 в зависимости от разрядности игры/приложения). |
|
Отправлено: 11:41, 05-02-2014 | #7 |
![]() Старожил Сообщения: 227
|
Цитата Petya V4sechkin:
Цитата Petya V4sechkin:
Цитата Petya V4sechkin:
Цитата:
Это все очень интересно и занимательно, но пример на утилите 3Dmark, а хотелось проверить на игре. Остаются вопросы: Почему игры требуют установки именно конкретных версий С++, даже когда установлена более новая? Если манифесты могут перенаправлять разные версии, почему производители добавляют устаревшие версии распр. компонентов С++(2005-2008)? Получается так, что производители игр и др. приложений не знают о манифестах и функциях Windows и пишут код таким образом, чтобы запуск проходил только с определенными версиями С++? |
||||
Отправлено: 16:23, 05-02-2014 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Demetriadis:
|
|
Отправлено: 17:17, 05-02-2014 | #9 |
Сообщения: 53585
|
Профиль | Отправить PM | Цитировать Цитата Demetriadis:
Цитата Petya V4sechkin:
Цитата Demetriadis:
Цитата Petya V4sechkin:
Цитата Demetriadis:
Цитата Petya V4sechkin:
Цитата Demetriadis:
Цитата Petya V4sechkin:
Не понимаете? :) Ну вот есть VC 2005 8.0.50608.0 и 8.0.50727.6195. Это все VC 2005. Точно также есть VC 2012 11.0.51106.1 и 11.0.61030.0. Это все VC 2012. Но VC 2012 не заменяет VC 2005 :) |
||||||||
Отправлено: 18:09, 05-02-2014 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CES 2012: еще пара слов об APU Trinity | OSZone News | Новости железа | 0 | 13-01-2012 14:30 | |
Интерфейс - Вопрос об устройстве. | shivaka | Тест-форум | 1 | 07-12-2011 13:27 | |
Отключение предупреждения об установке драйвера Vista | mty | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 0 | 12-02-2008 14:39 | |
Вопрос об очередности | monoid | Хочу все знать | 2 | 12-08-2003 03:00 | |
об установке перл | israelin | Вебмастеру | 1 | 10-05-2003 19:36 |
|