Вопрос.
Не уверен - у меня последнее время с этим напряженка :D
ну там сервиспаки были вроде.
Ну намного ведь проще запустить по тихому инсталлер, чем проверять наличие пакета. Кстати если уж на то пошло то инсталлер redist'а должен сам проверять своё наличие, а не инстеллер основной программы.
В любом случае если пакет уже был установлен новая то запись в список установленных программ не добавится.
В любом случае если пакет уже был установлен новая то запись в список установленных программ не добавится.
Но это добавляет время установки. Если он сам не может понять, что не нужно себя ставить, то хотя бы мне доверял решать такие вопросы. :)
Ну ты допустим знаешь ставить аль нет, а вот большинство будут смотреть как бараны на новые ворота. Мучать мозги тех.поддержке и плодить лишние темы на форумах. Так что проще запустить unattended установку, чем вводить пользователя в ступор задавая ему глупые вопросы.
Этим кстати страдает установщик mysql.
Потому что проще 3 dll'ки распаковать, чем проверить их наличие и целостность.
Да и в новой мобильной винде в принципе тоже. )
Как, как проприеритарные приложения вписываются в репозитории? Вот взять ту же оперу, скайп. Они используют so библиотеки (например, libX11 и т.д. ). Определенной версии. Как они обеспечивают работу на разных дисрибутивах, где эти самые библиотеки разных версий? Только не говорите, что все либы они с собой таскают.
Как, как проприеритарные приложения вписываются в репозитории? Вот взять ту же оперу, скайп. Они используют so библиотеки (например, libX11 и т.д. ). Определенной версии. Как они обеспечивают работу на разных дисрибутивах, где эти самые библиотеки разных версий? Только не говорите, что все либы они с собой таскают.
Ну дык в зависимостях пакета можно указать конкретную версию либы. (там glibc>=2.10.0)
И как правило либы по диапазонам версий обратносовместимы (не всегда, но в большинстве случаев).
Меня больше убил TeamViewer пакет - он с собой таскает специально пропатченый wine :) Под штатным мне его так и не удалось запустить.
Как, как проприеритарные приложения вписываются в репозитории?
Грамотный проприетарный софт предоставляет свой репозиторий под конкретные версии. И да, зависимости от системных либ конечно относительные, а не строгие.
хз, ldd вроде как с версиями зависимости отображает
linux-gate.so.1 => (0xffffe000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb772e000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb771c000)
libSM.so.6 => /usr/lib/libSM.so.6 (0xb7713000)
libICE.so.6 => /usr/lib/libICE.so.6 (0xb76f8000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb766f000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7639000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb762e000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7613000)
librt.so.1 => /lib/librt.so.1 (0xb7609000)
libdl.so.2 => /lib/libdl.so.2 (0xb7604000)
libz.so.1 => /lib/libz.so.1 (0xb75ec000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb74fd000)
libm.so.6 => /lib/libm.so.6 (0xb74d3000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb74b5000)
libc.so.6 => /lib/libc.so.6 (0xb7348000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7328000)
libuuid.so.1 => /lib/libuuid.so.1 (0xb7321000)
libexpat.so.1 => /lib/libexpat.so.1 (0xb72f7000)
/lib/ld-linux.so.2 (0xb788a000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb72f3000)
Опять же, если указывать зависимости в репозиториях. В большинстве случаев разработчик либо болт кладет на репозитории дистрибутивов, либо поставляет для наиболее распространенных. И у него обычно присутствует на сайте обычный архив с программой. Которая обычно вполне нормально запускается.
Опять же, если указывать зависимости в репозиториях. В большинстве случаев разработчик либо болт кладет на репозитории дистрибутивов, либо поставляет для наиболее распространенных. И у него обычно присутствует на сайте обычный архив с программой. Которая обычно вполне нормально запускается.
Потому что зависимости указаны в _пакете_, если захочешь поставить скайп, менеджер пакетов по зависимостям докачает необходимое. А .bin, которые распространяются (например дрова nvidia, qtcreator и пр) являются ничем иным как скриптом, в котором в начале идут проверки наличия необходимых зависимостей, окружения, а потом сам запакованный установщик. Нормальный софт даже в сорсах в make'е проверяет наличие зависимостей, а не падает с ошибкой компиляции :)
А проверка,установлен ли этот компонент,занимает всего лишь несколько секунд
Ну установка тоже не пол часа идет :)
На виртуалке под Win7 с 1024Мб оперативки эта установка очень нежелательна. Гм. Да ещё и по локальной сети.
Не -_- игрушка у него на виртуалку по сетке шустро ставится а редист напрягает...:D
Да не скорее всего тупо redist-инсталер с ключем для тихой установки запускает, не проверяя установлен он или нет.
Что-то не помню, чтобы писал про игры на виртуалке. Обмолвился, но это так. Игры были только на хосте.
Тихая установка - это же без окна инсталлятора? Если так, то запускается без этого ключа. Я даже иногда могу отменить установку. Вот, вспомнилось, DirectX тоже так ставится - всегда предлагает. При том 9-й.
ldd показывает те зависимости которые он нашел на данном компе в директориях поиска ld.
Во первых указанная тобой зависимость может на деле оказаться симлинком на конкретную версию. Во вторых да, производитель может указать конкретную версию - ничего не мешает. Но делать так тоже не хорошо.
Опять же, если указывать зависимости в репозиториях. В большинстве случаев разработчик либо болт кладет на репозитории дистрибутивов, либо поставляет для наиболее распространенных.
Ну согласись - это все зависит от добросовестности разработчика. =)
Если говорить про линуксовые репозитории - то большинство софтин, про которые ты говоришь, скорее всего имеют Linux версии чисто для галочки, а делают ставку на совсем другие ОС. Поэтму особо и не заморачиваются. Есть и вполне нормально оформленные репозитории. Да у того же виртуалбокса хотя бы. )
[ATTACH=CONFIG]5587[/ATTACH]
Но теперь запускается лаунчер Prince of Persia.