Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расширение для QtCreator, Написание плагина для QtCreator 
:(
    Опции темы
Avazart
Дата 20.6.2014, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 6.4.2013

Репутация: нет
Всего: нет



Цитата(bsa @  20.6.2014,  13:40 Найти цитируемый пост)
именно для этого плагины и существуют. Если кому не понравится твой установщик, будут использовать другой, а плагин отключат/не установят.

Ну я ведь не для этого делаю его что бы им не ползавались.
Мало того что писать установщик писать - это мартышкин труд, кроме этого в зависимости от особенностей проекта (не только предпочтений разработчика, а разработчик не простой пользователь) может быть лучше использовать то или иной установщик.

Цитата(bsa @  20.6.2014,  13:40 Найти цитируемый пост)
В голой Windows XP и более поздних работают и ZIP, и MSI; поэтому оба этих формата уже можно смело использовать

У на вируталке XP как я помню там не было вообще архиватора изначально.

Кроме того я имел опыт написания инсталяторов,  и к примеру было такое что на одной из машин просто не было папки %PROGRAMFILES%  (проверка 32/64 была).

Цитата(bsa @  20.6.2014,  13:40 Найти цитируемый пост)
Это называется общие библиотеки. Они, обычно, ставятся куда-нибудь в c:\windows\system32 и в реестре ставится счетчик использований. Но это можно сделать только из инсталлятора.

Это называется фиговый стиль- срать в системные папки.
Кроме того если что-то где-то удалится руками и пиши пропало.



Это сообщение отредактировал(а) Avazart - 20.6.2014, 14:37
PM MAIL   Вверх
bsa
Дата 20.6.2014, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



Цитата(Avazart @  20.6.2014,  15:33 Найти цитируемый пост)
Мало того что писать установщик писать - это мартышкин труд, кроме этого в зависимости от особенностей проекта (не только предпочтений разработчика, а разработчик не простой пользователь) может быть лучше использовать то или иной установщик.
Обычно, такие установщики сами определяют зависимости, на сколько я знаю. А если не определяют, то используется какая-то бесплатная система установки (Nullsoft, winrar-sfx и пр), и, я думаю, разработчик был бы рад иметь готовое решение "из коробки".
Цитата(Avazart @  20.6.2014,  15:33 Найти цитируемый пост)
У на вируталке XP как я помню там не было вообще архиватора изначально.
Распаковщик встроен в проводник. Зиповские архивы можно открыть как обычную папку и даже оттуда запустить программу.
Цитата(Avazart @  20.6.2014,  15:33 Найти цитируемый пост)
Кроме того я имел опыт написания инсталяторов,  и к примеру было такое что на одной из машин просто не было папки %PROGRAMFILES%  (проверка 32/64 была).
Путь к этой папке прописан в реестре. Использовать переменные среды в Windows дело неблагодарное.
Цитата(Avazart @  20.6.2014,  15:33 Найти цитируемый пост)
Это называется фиговый стиль- срать в системные папки.
Фиговый/не фиговый, а он стандартен и предусмотрен MS. Как вариант, ты можешь сделать папку c:\program files\Common files\Avazart Shared\qt, прописать ее в переменной PATH и пихать библиотеки туда...
Цитата(Avazart @  20.6.2014,  15:33 Найти цитируемый пост)
Кроме того если что-то где-то удалится руками и пиши пропало.
Ты часто что-то удаляешь руками из ...\system32? А потом, если ты сделал это, то виноват в неработающей программе только ты.

PM   Вверх
Avazart
Дата 20.6.2014, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 6.4.2013

Репутация: нет
Всего: нет



Цитата(bsa @  20.6.2014,  16:03 Найти цитируемый пост)
Обычно, такие установщики сами определяют зависимости, на сколько я знаю. А если не определяют, то используется какая-то бесплатная система установки (Nullsoft, winrar-sfx и пр), и, я думаю, разработчик был бы рад иметь готовое решение "из коробки".

Расзработчик не обычный пользователь, врядли ему нужны довески.
Лично я всегда делал с помощью InnoSetup и скрипт писал для него руками ибо в зависимости от программы нужно было делать разные вещи. Был такой момент когда небходимо было определить перед установкой конфмгурацию компа.

Цитата(bsa @  20.6.2014,  16:03 Найти цитируемый пост)
Путь к этой папке прописан в реестре. Использовать переменные среды в Windows дело неблагодарное.

Ты не понял заказчик утверждал что такой папки вообще нет на машине.
Что касается реестра то тут ошибится еще легче.

Цитата(bsa @  20.6.2014,  16:03 Найти цитируемый пост)
Фиговый/не фиговый, а он стандартен и предусмотрен MS. Как вариант, ты можешь сделать папку c:\program files\Common files\Avazart Shared\qt, прописать ее в переменной PATH и пихать библиотеки туда...

Ну это качественно разные решения, о втором я уже давно подумываю.

Цитата(bsa @  20.6.2014,  16:03 Найти цитируемый пост)
Ты часто что-то удаляешь руками из ...\system32? А потом, если ты сделал это, то виноват в неработающей программе только ты.

Все просто инсталятор не сработал по какой либо причине и в реестр счетчик не минусанулся- в итоге пользователь скорее всего полезит руками удалять, удалив саму программу но не изменив счетчик, и пакет в ~200M останится лежать в системной папке.


Это сообщение отредактировал(а) Avazart - 20.6.2014, 16:55
PM MAIL   Вверх
Avazart
Дата 30.9.2014, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 6.4.2013

Репутация: нет
Всего: нет



Провел обновление программы для сборки DLL
http://www.cyberforum.ru/blogs/131347/blog2457.html

Просьба отписываться, если кому-то интересно и  он протестил.


Это сообщение отредактировал(а) Avazart - 30.9.2014, 14:41
PM MAIL   Вверх
borisbn
Дата 30.9.2014, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135



Avazart, хорошая программа, но
1) Программа запускает мой exe-шник в Вашем каталоге и, соответственно, не видит своих файлов (да ещё и гадит логами в Ваш каталог)
2) Если бы она ещё умела смотреть какие файлы я открывал (БД, конфиги и т.п.) - то вообще бы ей цены не было


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Avazart
Дата 30.9.2014, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 6.4.2013

Репутация: нет
Всего: нет



Цитата(borisbn @ 30.9.2014,  18:43)
Avazart, хорошая программа, но
1) Программа запускает мой exe-шник в Вашем каталоге и, соответственно, не видит своих файлов (да ещё и гадит логами в Ваш каталог)
2) Если бы она ещё умела смотреть какие файлы я открывал (БД, конфиги и т.п.) - то вообще бы ей цены не было

(1)- Понял, нужно будет поправить этот момент.

Насчет (2) вообще не врубился, можете пояснить?

PM MAIL   Вверх
borisbn
Дата 1.10.2014, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135



Цитата(Avazart @  30.9.2014,  20:29 Найти цитируемый пост)
можете пояснить?

Кроме dll моя программа открывает н-ное количество файлов, например - читает конфиги из подкаталога cfg, открывает БД и т.п. Хотелось бы, чтобы Ваша программа умела отслеживать, какие файлы моя программа открывала (как это делает Process Explorer) и так же давала бы возможность их скопировать (оставляя структуру каталогов).

И ещё один момент: есть у меня программа картографии. При запуске из-под DLLCollector'а получаю это
user posted image
Неплохо было бы разделить dll-ки, лежащие в каталоге с программой от других. Дело в том, что картографию MapX я ставлю отдельным инсталлятором, и мне не нужно тянуть в свой проект файлы из Program Files\Mapx\...


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Avazart
Дата 1.10.2014, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 6.4.2013

Репутация: нет
Всего: нет



Цитата(borisbn @ 1.10.2014,  08:54)
1.)
Кроме dll моя программа открывает н-ное количество файлов, например - читает конфиги из подкаталога cfg, открывает БД и т.п. Хотелось бы, чтобы Ваша программа умела отслеживать, какие файлы моя программа открывала (как это делает Process Explorer) и так же давала бы возможность их скопировать (оставляя структуру каталогов).

2.)
И ещё один момент: есть у меня программа картографии. При запуске из-под DLLCollector'а получаю это

Неплохо было бы разделить dll-ки, лежащие в каталоге с программой от других. Дело в том, что картографию MapX я ставлю отдельным инсталлятором, и мне не нужно тянуть в свой проект файлы из Program Files\Mapx\...


1.) Нужно подумать возможно ли такое, хотя по-моему тольк оразработчику известно как программа и откуда должна тянуть другие файлы и как они должны размещаться отноительно exe.

2.) Так ваша программа вроде не на Qt написана, естетсвенно что почти все зависимости будут в "other"




Это сообщение отредактировал(а) Avazart - 1.10.2014, 10:25
PM MAIL   Вверх
borisbn
Дата 1.10.2014, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135



Цитата(Avazart @  1.10.2014,  10:20 Найти цитируемый пост)
Нужно подумать возможно ли такое

А Вы не смотрели Process Explorer ?

Цитата(Avazart @  1.10.2014,  10:20 Найти цитируемый пост)
хотя по-моему тольво вам известно как программа и откуда должна тянуть

Мне также известно где и какие dll-ки программа юзает. Вы же делаете автоматизацию. Сборку части файлов (dll) Вы сделали, так почему бы не сделать со всеми файлами, которые нужны exe-шнику ?

Цитата(Avazart @  1.10.2014,  10:20 Найти цитируемый пост)
Так ваша программа вроде не на Qt написана, естетсвенно что почти все зависимости будут в "other"

Да, не на Qt, но смысл не в этом. Смысл в том, что в этом Other неплохо бы разделить по каталогам, чтобы я мог выделить для копирования один каталог и снять выделение полностью с другого (в моём примере - с C:\Program Files\Mapx\...)


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Avazart
Дата 1.10.2014, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 6.4.2013

Репутация: нет
Всего: нет



Цитата(borisbn @ 1.10.2014,  10:26)
Цитата(Avazart @  1.10.2014,  10:20 Найти цитируемый пост)
Нужно подумать возможно ли такое

А Вы не смотрели Process Explorer ?

Цитата(Avazart @  1.10.2014,  10:20 Найти цитируемый пост)
хотя по-моему тольво вам известно как программа и откуда должна тянуть

Мне также известно где и какие dll-ки программа юзает. Вы же делаете автоматизацию. Сборку части файлов (dll) Вы сделали, так почему бы не сделать со всеми файлами, которые нужны exe-шнику ?

Цитата(Avazart @  1.10.2014,  10:20 Найти цитируемый пост)
Так ваша программа вроде не на Qt написана, естетсвенно что почти все зависимости будут в "other"

Да, не на Qt, но смысл не в этом. Смысл в том, что в этом Other неплохо бы разделить по каталогам, чтобы я мог выделить для копирования один каталог и снять выделение полностью с другого (в моём примере - с C:\Program Files\Mapx\...)

DLL грузятся в начале прилложения, когда загрузятся файлы абсолютно не известно.

Да и зачем копировать то что и так лежит рядом?
Зачем вобще смотреть на те файлы которые лежать в той же папке и тем более делать разделение на каталоги?

Насколько часто в приложении на Qt нужно копировать отделными каталогами?

Это сообщение отредактировал(а) Avazart - 1.10.2014, 10:46
PM MAIL   Вверх
borisbn
Дата 1.10.2014, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 48
Всего: 135



Цитата(Avazart @  1.10.2014,  10:44 Найти цитируемый пост)
DLL грузятся в начале прилложения, когда загрузятся файлы абсолютно не известно.

Не все dll грузятся в начале. Есть динамически подгружаемые. Для этого у Вас и есть отдельно кнопка Update.

Цитата(Avazart @  1.10.2014,  10:44 Найти цитируемый пост)
Зачем вобще смотреть на те файлы которые лежать в той же папке и тем более делать разделение на каталоги?

Если программа использует только Qt, то не нужно, а если использует картографию, БД типа Oracle, или любые компоненты, которые устанавливаются отдельно, то DLLCollector сваливает всё в кучу и мне приходится руками убирать галочки с кучи dll-лек из каталогов MapX, Oracle и т.п.

В общем, мне так кажется, что Вы не очень хотите этим заниматься  smile
Попробую по свободе сам. Вы не против ? У Вас не проприетарный софт ?



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
kuzulis
Дата 1.10.2014, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 5.9.2007

Репутация: нет
Всего: 1



Гы. Я для аналогичных целей использую Qbs и не нужно всяких плагинов и прочее.

Например в моих последних проектах (под Windows) использую WiX Toolset для создания инсталляторов (в принципе, любой сложности).

Например, в QBS можно накидать "скриптики/проектики/модули" которые будут искать нужные рантайм библиотеки/плагины Qt а также рантайм от VS  ипрочее.

Т.е. в одном проекте сразу одним кликом можно собрать все нужные exe-шники, плагины/dll-ки и другие конфигурационные файлы, закинуть их в инсталлятор с учетом иерархии и прочего, собрать инсталлятор с любой сложностью (как с установкой и запуском сервисов, если они имеются в проекте, с регистрацией в реестре всяких вещей, если нужно и прочее..).

Т.е., мое ИМХО - в принципе, этот плагин чисто для академического интереса, к сожалению. 

На данный момент лучше переходить на QBS вместо qmake, так как это дает гораздо большие возможности "скриптописания", т.к. не ограничивается возможностями какого-то плагина в QtCreator. Да и в целом, проще и универсальнее: в любой момент я могу подправить JS скриптик/модуль и оно заработает.

 

Это сообщение отредактировал(а) kuzulis - 1.10.2014, 14:10
PM MAIL   Вверх
Avazart
Дата 1.10.2014, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 6.4.2013

Репутация: нет
Всего: нет



QBS - неофециален, да и кому интересно изучать что-то еще для того что бы только собрать DLL-ки?
Скриптописание? А на кой оно здалось, если пишешь на С++ ?

Цитата
Не все dll грузятся в начале. Есть динамически подгружаемые. Для этого у Вас и есть отдельно кнопка Update.

Qt и грузит плагины динамически как раз, но в отличие от файлов они  загружаются где-то в начале и живут все время, а файл может открыться в произвольный момент и произвольный момент закрыться.

Цитата
Если программа использует только Qt

Ну так сугубо для Qt  и писалось, для dll-лок и плагинов Qt ну и в нагрузку dll-ки компилятора. 

Код
то DLLCollector сваливает всё в кучу и мне приходится руками убирать галочки с кучи dll-лек из каталогов MapX, Oracle и т.п.

Что-то не понял, галочки в other не должны ставится сами.

Цитата
В общем, мне так кажется, что Вы не очень хотите этим заниматься

Было бы время и необходимость в этом, писал для себя ибо задрало плагины собирать.

Цитата
Попробую по свободе сам. Вы не против ?

Да как бы и выкладывал для этого вместе с исходниками.
Только если где-то будете  выкладывать где-то, укажите ссылку пожалуйста ссылку на блог.



Это сообщение отредактировал(а) Avazart - 1.10.2014, 18:59
PM MAIL   Вверх
Avazart
Дата 25.3.2018, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 63
Регистрация: 6.4.2013

Репутация: нет
Всего: нет



Обновил программу, теперь можно писать свои сценарии на js 

http://www.cyberforum.ru/blogs/131347/blog2457.html
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.1720 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.