Существует ли универсальный кроссплатформенный установщик?

Интересно, кто-то пытался создать своего рода открытый стандарт для кроссплатформенного установщика для приложения или реализацию установщика? Это означает, что вы можете просто скачать один файл с веб-сайта, и его расширение узнаваемо в любой популярной операционной системе? У нас есть файлы.pkg и.dmg для Mac, MSI и обычные установщики.exe для Windows, пакеты.deb для Linux (в случае Debian), но у нас нет универсального для каждой платформы (например.uoi (Universal Open Installer)), лол).

Кто-то может подумать, что такой подход невозможен, потому что каждая ОС имеет свою собственную структуру и организацию файлов, но этот установщик потенциально может содержать инструкции для каждой ОС одновременно, и он может содержать даже общие файлы (например, изображения, текстуры или звуки), какими они могут быть. повторно используется для каждой платформы, и они не зависят от платформы.

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

1 ответ

Решение

Общий формат упаковки кажется неуловимым. Тем не менее, есть несколько многоплатформенных инструментов развертывания. Installsite.org имеет список внизу здесь.

Я думаю, что два наиболее часто используемых инструмента (оба являются коммерческими):

Есть несколько других инструментов, одним из которых является Bitrock InstallBuilder - инструмент, о котором я ничего не знаю, поэтому я не могу ни рекомендовать, ни отклонять его. Существует также QtInstaller Framework, который мне еще предстоит попробовать.

Тогда есть Zero Install - кроссплатформенное программное обеспечение для упаковки и распространения - для меня неизведанная территория. И Steam, кроссплатформенная платформа для распространения видеоигр, лицензирования и социальных игр, разработанная и поддерживаемая Valve. Используется для покупки, загрузки, установки, обновления, удаления и резервного копирования видеоигр. Работает на Windows, OS X и Linux. Похожим на Steam является Uplay от Ubisoft - еще одной платформы распространения видеоигр. Может быть, стоит упомянуть PyInstaller? (кроссплатформенные программы Python).

Я столкнулся с Oracle Universal Installer некоторое время назад в вопросе SO. Установщик на основе Java для инструментов Oracle. Тайна-инструмент. Ныне устаревшие Java-апплеты и устаревшая функция Java Web Start следует упомянуть как кроссплатформенные. Разработчики должны перейти на jlink до конца 2020 года ( Oracle PDF: обновление Java Client Roadmap).

Не так много в области реального ответа, но некоторые указатели. Повторяю, я немного знаю об этих инструментах, если честно. Я предполагаю, что последние форматы на основе XML / Zip можно сделать кроссплатформенными легче, чем предыдущие технологии, такие как файлы структурированного хранилища данных Windows COM, которые использовались для установщиков MSI. Время покажет. В эпоху облаков, кто знает, что всплывет?

Однако я могу сказать вам, что я боролся с многоплатформенными установщиками как с корпоративным упаковщиком приложений (не разрабатывая установки, а просто развертывая их), и с этими многоплатформенными установщиками всегда возникали проблемы. Очень нестандартный и высокий фактор удивления, с которым иногда приходится иметь дело. Например: вы запускаете setup.exe который только запускает секунду setup.exe и затем завершает работу, сообщая ничего не значащего, так что вы не знаете, что случилось с фактической установкой, которая вообще была запущена асинхронно. Такого рода вещи. Поэтому вы должны написать странные сценарии, чтобы проверить ход установки и т. Д. Работа с многоплатформенным установщиком никогда не была увлекательной.


Некоторые ссылки:

Я использовал конструктор установок, и да, его кроссплатформенность.. Обратной стороной является то, что вам придется платить..

Другие вопросы по тегам