Russian Qt Forum
Ноябрь 23, 2024, 10:24
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Написание Updater'a для приложения
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Написание Updater'a для приложения (Прочитано 3725 раз)
carhun
Гость
Написание Updater'a для приложения
«
:
Июль 07, 2013, 11:18 »
Доброго времени суток.
Есть приложение, написанное с использованием Qt.
Так же есть Updater, которое так же использует Qt.
Проблема заключается в следующем:
Т.к. для работы и приложения, и updater'a необходимы, например, такие библиотеки, как QtGui.dll QtCore.dll, и допустим приходят обновления на эти библиотеки, то я их получается не могу заменить, т.к. они используются updater'ом.
Единственно, что пришло в голову так это написать скрипт, который будет запускаться, если updater получил обновления для QtGui.dll, QtCore.dll. Т.е. если updater получает для указанных библиотек обновления, то он закачивает их, далее updater завершает свою работу и стартует скрипт, который подменит эти библиотеки.
Да, можно переписать все на какой-то С#, но тоже как-то это не сильно хороший выход...
На сколько этот путь хорош или может быть есть путь намного лучше?
Записан
Bepec
Гость
Re: Написание Updater'a для приложения
«
Ответ #1 :
Июль 07, 2013, 11:46 »
Очень простой способ есть - апдейтер сначала всё гонит в папку update, потом уже заменяет.
PS кто-то давным давно ратовал за вин апишный апдейтер в пару килобайт
Записан
carhun
Гость
Re: Написание Updater'a для приложения
«
Ответ #2 :
Июль 07, 2013, 12:15 »
Цитата: Bepec от Июль 07, 2013, 11:46
Очень простой способ есть - апдейтер сначала всё гонит в папку update, потом уже заменяет.
PS кто-то давным давно ратовал за вин апишный апдейтер в пару килобайт
В целом он сейчас так и делает, только он создает не папку update, а добавляет в конце .tmp... Только проблема в том, что updater использует QtGui.dll, QtCore.dll и на сколько я понимаю оно не даст ничего с ними сделать, пока я не закончу процесс updater...
Эх, я не силен в винапи, будет намного дольше все переписывать... можно конечно вообще хоть сервис написать, который будет проверять обновления, но это по сути будет тоже самое, что не использовать Qt для updater'a.
А есть пример updater'a с использованием винапи?
Записан
Bepec
Гость
Re: Написание Updater'a для приложения
«
Ответ #3 :
Июль 07, 2013, 12:17 »
Эм? Тупо сделайте bat файл аля "cope QtCore.dll ../QtCore.dll"
Записан
carhun
Гость
Re: Написание Updater'a для приложения
«
Ответ #4 :
Июль 07, 2013, 12:39 »
Цитата: Bepec от Июль 07, 2013, 12:17
Эм? Тупо сделайте bat файл аля "cope QtCore.dll ../QtCore.dll"
Ну, я собственно и спрашивал это хорошо так сделать?
Что я закрываю updater и стартую, например, через какой-то QProcess bat файлик, который по заменяет библиотеки.
Записан
Bepec
Гость
Re: Написание Updater'a для приложения
«
Ответ #5 :
Июль 07, 2013, 12:39 »
Как вариант.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Написание Updater'a для приложения
«
Ответ #6 :
Июль 07, 2013, 22:05 »
updater можно скомпилировать статически
Записан
VozaMFC
Гость
Re: Написание Updater'a для приложения
«
Ответ #7 :
Июль 09, 2013, 16:23 »
Цитата: Alex Custov от Июль 07, 2013, 22:05
updater можно скомпилировать статически
Тоже вариант.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...