LINUX.ORG.RU

Qt5 Установочник приложения


0

3

Всем привет.

Дано: - descktop приложение для распространения;

Задача: - создать установочный пакет для ОС Windows, Mac и Linux - установочник должен писать начальные настройки приложения (так же как это делает QSettings) - установочник должен распространяться в виде одного файла

Вопрос: Можно ли сие сделать стандартными средствами(ну хотябы большую часть)? Надоело писать скрипты для сборки дистрибутивы под различные платформы... Или мне все же придется писать свой инсталятор?

Закатай все в .run как несвободные драйверы

minakov ★★★★★
()

Не нужно ничего писать.
Под винду - есть проприетарное решение, создающее тебе однофайловые установщик, называется оно InstallShield. Делается все термя кнопками, на выходе получаем стандартный виндовый сетуп. Есть свободный аналог, называется как-то на N ЕМНИП, вылетело из головы, но он сложнее чуть в освоении, там не так все очевидно, как хотелось бы.

Под мак - установка в маке обычно идет тупо копированием папки в Програмс. То есть когда ты получаешь свой приложение.app, ты можешь смело закидывать его в папку программ и пользовать. Есть атилита под названием ЕМНИП AppToDMG, которая соберет тебе стадартный для маковых программ dmg, в котором ты и будешь его распространять.

НУ а под линукс - тут уж сам разберешься.
Можно тупо скрипт сделать, который все положит в /usr/bin и сделает ссылку.

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Блин, в том то и проблема, что для разных осей свои решения, и не все решения имеют одни и те же возможности... Очень важна возможность писать настройки приложения в момент установки. Под Мак я такой возможности не нашел, под Win пользуюсь innosetup - очень мощная штука, там есть все - под Linux делал deb пакеты.. Но это все очень геморно, по-этому писал скрипт, который для каждой платформы все делает... А так думал что можно как нибудь с QWizard обойтись...

sudo cast energyclab

energyclab
() автор топика

закатай все в самораспоковывайщийся архив, епта.

sventovit
()
Ответ на: комментарий от Zhbert

называется как-то на N

NSIS.

Можно тупо скрипт сделать, который все положит в /usr/bin и сделает ссылку.

Фу, уж лучше тогда OBS осилить. И пусть там само все собирается.

a1batross ★★★★★
()

Установочник
descktop
хотябы
Надоело писать скрипты для сборки дистрибутивы

Ох, черт...

По теме - пиши под каждую платформу свой установщик теми средствами, которые приняты на этой платформе, это единственный нормальный путь распространения. Сборку всего этого удобно осуществлять из .pro файла через вызов к внешним установщикам с различными параметрами под различные платформы. Унифицировать не получится из-за сильных различий, увы. Волшебной кнопки не существуе.

Что тебе конкретно надо во время установки писать, какие настройки? Я начальные настройки для приложения обычно пишу хардкодом в defaultValue

QSettings::value(const QString & key, const QVariant & defaultValue = QVariant()) const

Тут советовали InstallShield зачем-то, хотя он стоит 700 баксов экспресс эдишн, но на мой взгляд есть способоы проще (под вин - innosetup, NSIS, под мак - macdeployqt, под линуксы - deb и rpm).

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.