[identity profile] alia-the-pony.livejournal.com posting in [community profile] useless_faq
Зачем Стим при установке каждой новой игры начинает устанавливать к ней DirectX? У меня же и так последняя версия, а она, если я не ошибаюсь, уже несколько лет как не обновлялась. Или он его как-то по особенному устанавливает, отдельно для каждой игры?

Date: 2014-06-23 11:16 am (UTC)
From: [identity profile] zfoxz.livejournal.com
Это не Стим, это сама игра.
Зачем? На всякий случай. Проще сразу накатить все нужное по необходимости.
Не факт, что он вообще ставится. Скорее всего, просто версию проверяет.

Date: 2014-06-23 11:17 am (UTC)
From: [identity profile] lockthemoriarty.livejournal.com
на всякий случай. вдруг это первый запуск стима и первая игра на первом компьютере, который только что запущен в первый раз.
на самом деле он ничего там не устанавливает, только проверяет что версия последняя.

Date: 2014-06-23 12:10 pm (UTC)
From: [identity profile] aresh.livejournal.com
Потому, что проще заставить redistributable инсталяшку DX проверять версию, чем делать это своими силами.

Date: 2014-06-23 06:29 pm (UTC)
From: [identity profile] azgar.livejournal.com
Софтина требует для работы определённых библиотек определённых версий.
Они включаются в дистрибутив, чтобы обеспечить их наличие в системе к моменту запуска.
Многие библиотеки молча проверяют версию, и если она годится, просто скипают установку. ДиректХ проверяет версии отдельных компонентов. Ставишь, бывало, очень древнюю игру, она, мол, мне нужен ДиректХ 3! Сейчас буду ставить! Найден ДиректААА 6.1.0.3, требуется 3.0.1.1, Найден ДиректБББ 6.1.0.3, требуется 3.0.1.1, ... и так пятьдесят раз.

Date: 2014-06-23 11:53 pm (UTC)
From: [identity profile] qolorado.livejournal.com
Ну вот скажу вам как делающий подобную халтуру (к стиму никакого отношения не имеющая, но проблема та же).

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

Думаю, тут логика та же. Видимо, готового API, что скажет тебе "надо ли апгрейдить DirectX" нету, а сам убьешься все мелкие фишки отслеживать (и все равно ведь что-то забудешь) - так что проще вызвать инсталлер DirectX вне зависимости от - а далее пусть он сам разбирается, надо ли апгрейдиться.

Date: 2014-06-23 11:56 pm (UTC)
From: [identity profile] braintweak.livejournal.com
Зря вы думаете что DirectX 9/11 это уже всё, установил один раз и больше не надо.
Он постоянно обновляется, добавляется туда с каждым годом разного, при этом цифра версии не меняется.
Вот стим и запускает webinstall/готовый пакет проверяя, есть ли чего новое.