|
|
|
Avazart |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 6.4.2013 Репутация: нет Всего: нет |
Ну я ведь не для этого делаю его что бы им не ползавались. Мало того что писать установщик писать - это мартышкин труд, кроме этого в зависимости от особенностей проекта (не только предпочтений разработчика, а разработчик не простой пользователь) может быть лучше использовать то или иной установщик.
У на вируталке XP как я помню там не было вообще архиватора изначально. Кроме того я имел опыт написания инсталяторов, и к примеру было такое что на одной из машин просто не было папки %PROGRAMFILES% (проверка 32/64 была). Это называется фиговый стиль- срать в системные папки. Кроме того если что-то где-то удалится руками и пиши пропало. Это сообщение отредактировал(а) Avazart - 20.6.2014, 14:37 |
||||
|
|||||
bsa |
|
||||
Эксперт Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Обычно, такие установщики сами определяют зависимости, на сколько я знаю. А если не определяют, то используется какая-то бесплатная система установки (Nullsoft, winrar-sfx и пр), и, я думаю, разработчик был бы рад иметь готовое решение "из коробки".
Фиговый/не фиговый, а он стандартен и предусмотрен MS. Как вариант, ты можешь сделать папку c:\program files\Common files\Avazart Shared\qt, прописать ее в переменной PATH и пихать библиотеки туда... Ты часто что-то удаляешь руками из ...\system32? А потом, если ты сделал это, то виноват в неработающей программе только ты. |
||||
|
|||||
Avazart |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 6.4.2013 Репутация: нет Всего: нет |
Расзработчик не обычный пользователь, врядли ему нужны довески. Лично я всегда делал с помощью InnoSetup и скрипт писал для него руками ибо в зависимости от программы нужно было делать разные вещи. Был такой момент когда небходимо было определить перед установкой конфмгурацию компа.
Ты не понял заказчик утверждал что такой папки вообще нет на машине. Что касается реестра то тут ошибится еще легче. Ну это качественно разные решения, о втором я уже давно подумываю.
Все просто инсталятор не сработал по какой либо причине и в реестр счетчик не минусанулся- в итоге пользователь скорее всего полезит руками удалять, удалив саму программу но не изменив счетчик, и пакет в ~200M останится лежать в системной папке. Это сообщение отредактировал(а) Avazart - 20.6.2014, 16:55 |
||||
|
|||||
Avazart |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 6.4.2013 Репутация: нет Всего: нет |
Провел обновление программы для сборки DLL
http://www.cyberforum.ru/blogs/131347/blog2457.html Просьба отписываться, если кому-то интересно и он протестил. Это сообщение отредактировал(а) Avazart - 30.9.2014, 14:41 |
|||
|
||||
borisbn |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Avazart, хорошая программа, но
1) Программа запускает мой exe-шник в Вашем каталоге и, соответственно, не видит своих файлов (да ещё и гадит логами в Ваш каталог) 2) Если бы она ещё умела смотреть какие файлы я открывал (БД, конфиги и т.п.) - то вообще бы ей цены не было -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Avazart |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 6.4.2013 Репутация: нет Всего: нет |
(1)- Понял, нужно будет поправить этот момент. Насчет (2) вообще не врубился, можете пояснить? |
|||
|
||||
borisbn |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Кроме dll моя программа открывает н-ное количество файлов, например - читает конфиги из подкаталога cfg, открывает БД и т.п. Хотелось бы, чтобы Ваша программа умела отслеживать, какие файлы моя программа открывала (как это делает Process Explorer) и так же давала бы возможность их скопировать (оставляя структуру каталогов). И ещё один момент: есть у меня программа картографии. При запуске из-под DLLCollector'а получаю это Неплохо было бы разделить dll-ки, лежащие в каталоге с программой от других. Дело в том, что картографию MapX я ставлю отдельным инсталлятором, и мне не нужно тянуть в свой проект файлы из Program Files\Mapx\... -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Avazart |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 6.4.2013 Репутация: нет Всего: нет |
1.) Нужно подумать возможно ли такое, хотя по-моему тольк оразработчику известно как программа и откуда должна тянуть другие файлы и как они должны размещаться отноительно exe. 2.) Так ваша программа вроде не на Qt написана, естетсвенно что почти все зависимости будут в "other" Это сообщение отредактировал(а) Avazart - 1.10.2014, 10:25 |
|||
|
||||
borisbn |
|
||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
А Вы не смотрели Process Explorer ?
Мне также известно где и какие dll-ки программа юзает. Вы же делаете автоматизацию. Сборку части файлов (dll) Вы сделали, так почему бы не сделать со всеми файлами, которые нужны exe-шнику ?
Да, не на Qt, но смысл не в этом. Смысл в том, что в этом Other неплохо бы разделить по каталогам, чтобы я мог выделить для копирования один каталог и снять выделение полностью с другого (в моём примере - с C:\Program Files\Mapx\...) -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
Avazart |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 6.4.2013 Репутация: нет Всего: нет |
DLL грузятся в начале прилложения, когда загрузятся файлы абсолютно не известно. Да и зачем копировать то что и так лежит рядом? Зачем вобще смотреть на те файлы которые лежать в той же папке и тем более делать разделение на каталоги? Насколько часто в приложении на Qt нужно копировать отделными каталогами? Это сообщение отредактировал(а) Avazart - 1.10.2014, 10:46 |
|||
|
||||
borisbn |
|
||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Не все dll грузятся в начале. Есть динамически подгружаемые. Для этого у Вас и есть отдельно кнопка Update.
Если программа использует только Qt, то не нужно, а если использует картографию, БД типа Oracle, или любые компоненты, которые устанавливаются отдельно, то DLLCollector сваливает всё в кучу и мне приходится руками убирать галочки с кучи dll-лек из каталогов MapX, Oracle и т.п. В общем, мне так кажется, что Вы не очень хотите этим заниматься Попробую по свободе сам. Вы не против ? У Вас не проприетарный софт ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
kuzulis |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 154 Регистрация: 5.9.2007 Репутация: нет Всего: 1 |
Гы. Я для аналогичных целей использую Qbs и не нужно всяких плагинов и прочее.
Например в моих последних проектах (под Windows) использую WiX Toolset для создания инсталляторов (в принципе, любой сложности). Например, в QBS можно накидать "скриптики/проектики/модули" которые будут искать нужные рантайм библиотеки/плагины Qt а также рантайм от VS ипрочее. Т.е. в одном проекте сразу одним кликом можно собрать все нужные exe-шники, плагины/dll-ки и другие конфигурационные файлы, закинуть их в инсталлятор с учетом иерархии и прочего, собрать инсталлятор с любой сложностью (как с установкой и запуском сервисов, если они имеются в проекте, с регистрацией в реестре всяких вещей, если нужно и прочее..). Т.е., мое ИМХО - в принципе, этот плагин чисто для академического интереса, к сожалению. На данный момент лучше переходить на QBS вместо qmake, так как это дает гораздо большие возможности "скриптописания", т.к. не ограничивается возможностями какого-то плагина в QtCreator. Да и в целом, проще и универсальнее: в любой момент я могу подправить JS скриптик/модуль и оно заработает. Это сообщение отредактировал(а) kuzulis - 1.10.2014, 14:10 |
|||
|
||||
Avazart |
|
||||||||||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 6.4.2013 Репутация: нет Всего: нет |
QBS - неофециален, да и кому интересно изучать что-то еще для того что бы только собрать DLL-ки?
Скриптописание? А на кой оно здалось, если пишешь на С++ ?
Qt и грузит плагины динамически как раз, но в отличие от файлов они загружаются где-то в начале и живут все время, а файл может открыться в произвольный момент и произвольный момент закрыться.
Ну так сугубо для Qt и писалось, для dll-лок и плагинов Qt ну и в нагрузку dll-ки компилятора.
Что-то не понял, галочки в other не должны ставится сами.
Было бы время и необходимость в этом, писал для себя ибо задрало плагины собирать.
Да как бы и выкладывал для этого вместе с исходниками. Только если где-то будете выкладывать где-то, укажите ссылку пожалуйста ссылку на блог. Это сообщение отредактировал(а) Avazart - 1.10.2014, 18:59 |
||||||||||
|
|||||||||||
Avazart |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 63 Регистрация: 6.4.2013 Репутация: нет Всего: нет |
Обновил программу, теперь можно писать свои сценарии на js
http://www.cyberforum.ru/blogs/131347/blog2457.html |
|||
|
||||
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |