| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > распространение готового qt4 приложения |
| Автор: vinnitu 29.11.2009, 15:22 |
| Как лучше всего распространять приложение написаное на qt4? msi? nullsoft? zip? может есть какой интрегратор для creator'a? |
| Автор: djamshud 29.11.2009, 15:28 |
| Windows - инсталятор next-next-ok *nix - tgz с исходниками и скриптами сборки (qmake. cmake. autotools). |
| Автор: vinnitu 29.11.2009, 15:49 | ||
это что ещё за инсталятор? |
| Автор: andrew_121 29.11.2009, 15:56 |
| в исходниках |
| Автор: sergey_85 29.11.2009, 17:57 |
| есть кросплатформенные инсталяторы, но они стоят $ |
| Автор: nerezus 29.11.2009, 18:15 |
| Для винды любой инсталлятор next-next-ok(есть фришные), или 7-zip, еслт надо проще. Для никсы бы просто бинари статически линкованные в архиве. Ну и пакеты под ппулярные дистры. |
| Автор: djamshud 29.11.2009, 19:46 |
| >Для никсы бы просто бинари статически линкованные в архиве. Ну и пакеты под ппулярные дистры. Не юникс-вей:). Котом в мешке никто пользоваться не станет, если это только не бинарь какой-нибудь уважаемой энтерпрайзной корпорации. Фанатики впрочем закрытой поделкой в любом случае пользоваться не станут). Я почти уверен, что ваша поделка не содержит в исходниках ничего такого, что можно было бы захотеть спрятать, если это так, смело распространяйте в исходниках. Добавлено через 49 секунд "поделка" - в самом безобидном смысле. |
| Автор: andrew_121 29.11.2009, 19:50 |
Бинари - плохо. Но еще статически линкованные - ваще зло! vinnitu, Хоть расскажите, что программа выполняет? |
| Автор: quarz 30.11.2009, 03:56 |
| Nullsoft очень мощный и удобный инсталлятор. Огромный функционал, работал с ним под виндой. Идет нормально под Vista-Win7, вроде даже кроссплатформ но сам не пробовал. Дли никса ничего лучше tgz или rpm нет =) |
| Автор: Любитель 30.11.2009, 04:18 |
Почему статически?! |
| Автор: chaos 30.11.2009, 08:13 |
| офтоп а часто ли Вы в исходники заглядыаете? |
| Автор: djamshud 30.11.2009, 11:12 |
| >а часто ли Вы в исходники заглядыаете? Никогда. И никто из пользователей не заглядывает, если это какая-то десктопная софтинка. Но это психология: закрыто - опасно. У фанатиков возведена в культ. Ну а о достоинствах свободного распространения ПО я писать не буду, все о них знают, а кто не знает, может погуглить. |
| Автор: quarz 30.11.2009, 13:43 |
Вопрос по существу к автору темы! И еще расскажите, какие требования к инсталлятору: нужен ли uninstal, работа с UIC в Vista/7, записи в реестр, проверка и установка зависимостей (фреймворки, типа .netFramework и vcredist) |
| Автор: _GRIN_ 30.11.2009, 17:02 |
| Сразу оговорюсь, в текущий момент пишу программу под Linux. Коммерческие инсталяторы дороги, приходится делать самому. Вариант 1 (уже реализованный): bash-скрипт, запускается из-под рута (т.к. необходимы некоторые рутовские настройки в системе). Скрипт создаёт необходимые директории и дерево файлов для программы. По мере выполнения задаёт пользователю различные уточняющие вопросы, т.к. существует несколько конфигураций программы. .. и т.д. Также делает бэкап оригинальной настроки системы, и сохраняет его по определённому пути. При удалении (uninstaller-скрипт) данныце настройки возвращаются. Вариан 2 (в проекте, как освободится время сделаю): - по сути надстройка над скриптом, реализующая его функционал, но более дружелюбная к пользователю, в плане диалогов об уточнении конфигурации. Имхо: По сути любая установка это копирование + определённая настройка системы. Полагаю, для кроссплатформенности нужен второй вариант, который для каждой системы делает необходимое, через Qt и АPI системы (система определяется через соответствующие #ifdef-ы) необходимые вещи. Не вижу смысла тратиться на коммерческие инсталяторы, т.к. большинство их функционала не востребованно, а реализация того, что необходимо занимает максимум день (при условии, что вы чётко представляете, что надо, что бы ваша программа работала). Если ваш день стоит дороже коммерческого инсталятора, или его купят не за ваш счёт, или не хватает знаний, а разбираться некогда|лень, то в данном случае действительно можно купить коммерческий. |
| Автор: nerezus 30.11.2009, 17:10 | ||||
Это из опыта. Схема "платить за поддержку" работать не будет - покупатели - не из энтерпрайза ;) |
| Автор: bsa 30.11.2009, 17:21 |
| nerezus, и закрытые программы тоже взламывают... Вопрос только в том, скольки человекам она нужна. Если прога нужна 100 товарищам в мире, то никто ее ломать не будет. А если она полюбится миллиону, то тут же будет взломана. Имхо, единственный способ получать прибыль с ПО - или писать под конкретного заказчика, или добавлять "сетевые" свойства, когда без доступа к серверу программа никакой пользы приносить не может (например, MMORPG). В первом случае необходимость открытости проекта согласуется с заказчиком, а во втором - никакого смысла делать закрытую программу нет, так как все равно без вашего сервера ее использовать нельзя будет. Другой вопрос, что можно путем анализа исходников сделать свой сервер... Но это гораздо сложнее и затратнее, чем keygen с музыкой, поэтому за "просто так" его делать никто не будет (пионэры не в счет). |
| Автор: djamshud 30.11.2009, 17:28 |
| Я же поправился: >Добавлено через 49 секунд >"поделка" - в самом безобидном смысле. >Я сомневаюсь, что никсамипользуются только параноики. Дело даже не в параноиках, или как я называл их выше фанатиках. Если, как вы говорите, это не энтерпрайз, а денюшку получить хотите, в репозитории дистрибутивов вы не попадете, но туда уже скорее всего попали бесплатные (и наверное открытые) аналоги. Более или менее функциональные - не важно. И теперь скажите, зачем человеку перелопачивать тысячи варе^W сайтов в поиске программы, когда у него есть замечательнейший пакетный менеджер, который сам ему все найдет, скачет и установит? |
| Автор: unicuum 30.11.2009, 18:19 | ||
В том то и дело, что кроссплатформенной программе ничего не надо, её можно сделать с сухой установкой. Иными словами скопировал папку и сразу запустил без всяких инсталяторов. И хотя линукс содержит множество библиотек, а программы там в одну кучу запихивают, лично я не вижу причин так делать для своей собственной программы. Настройки записывать в файл в папку с программой и не мучить реестры и тому подобные абсолютно бесполезные вещи. |
| Автор: djamshud 30.11.2009, 19:28 |
| >И хотя линукс содержит множество библиотек, а программы там в одну кучу запихивают, лично я не вижу причин так делать для своей собственной программы. Настройки записывать в файл в папку с программой и не мучить реестры и тому подобные абсолютно бесполезные вещи. Программы тут в кучу куч запихивают. И у каждой кучи есть назначение. Реестров и тому подобных абсолютно бесполезных вещей в линуксе тоже нет. Вы его только на картинках чтоли видели? Тогда зачем говорите со знанием дела? Лично я не вижу причин пользоваться программой, чтобы запустить которую, нужно лазить по всяким каталогам. Есть де-факто правила, по которым устанавливается софт: бинари в одну из куч для бинарей, библиотеки - в одну из куч библиотек, общие/умолчательные конфиги в /etc, локальные конфиги для отдельно взятого пользователя сохраняются в $HOME или $HOME/.config. Что-то напутали в конфигурации приложения - снесли локальный конфиг, программа его пересоздаст дефолтным. И никаких поисков сотен ключей в реестрах и тому подобных абсолютно бесполезных вещах. |
| Автор: nerezus 30.11.2009, 19:34 | ||||
Ибо даже заказывать пытались такое взломать ) Поэтому хороший способ защиты - чтобы купить было дешевле, чем взломать.
|
| Автор: djamshud 30.11.2009, 19:38 |
| >Софт нужен лишь десяткам. Узкоспециализирован. Так что в репы мне не надо =) Попахивает таки энтерпрайзом:). |
| Автор: BobiKK 30.11.2009, 20:58 |
| Имхо, репы для специализированного софта это, наверное, перебор. А вот отдельные .deb и .rpm - это гут. Так распространяются, скажем, Zend'овские решения, адобовский флэш. Удобно работать с системой только через aptitude и не париться с 10-ком разных инсталяторов. |
| Автор: vinnitu 2.12.2009, 22:21 | ||
на самом деле неважно ЧТО программа выполняет, важно как пользователь её воспринимает, т.е. установка должна быть шаблонна имеются ввиду банальные вещи 1) установка под пользователя (т.е. заходил админ поставить для всех - это одно, поставил юзер - чисто для себя) 2) создание иконки на рабочем столе, прописывание в меню 3) добавление в автозапуск по требованию 4) удаление штатным образом для меня как разработчика 5) определение зависимостей (crt и всякой другой мутоты) 6) докачка необходимым составляющих в процессе установки 7) возможность апдейта |
| Автор: Любитель 2.12.2009, 22:49 |
| Таааак. Давайте не отвлекаться на вопросы распространения ПО. Как лучше пекеджить Qt-шные приложения - ок. Но кто там будет ломать, кто не будет и хороша или нет струтура ФС в никсах - это не в тему |
| Автор: quarz 3.12.2009, 17:43 |
| vinnitu, могу сказать что на NSIS это все реализуемо. Вот ссылки по теме: http://ru.wikipedia.org/wiki/NSIS - общая инфа об NSIS на русском http://nsis.sourceforge.net/Main_Page - страница проекта http://nsis.sourceforge.net/Docs/Contents.html http://nsis.sourceforge.net/Docs/Modern%20UI%202/Readme.html - доки http://hmne.sourceforge.net/ - рекомендую этот редактор. Подсветка, подсказки, есть визуальный редактор кастомных страниц |