Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt5.3] - Проблема первого запуска на чужой машине, Ругается на dll, потом - работает. 
:(
    Опции темы
Dreamer_0x01
Дата 29.10.2015, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


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

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



Здравствуйте.

Сделал программу, отладил. Скопировал в папку с программой все нужные dll, сделал инсталятор (с помощью NSIS), через инсталятор устанавливаю программу заказчику. 

Получается такая картина. Заказчик через инсталятор ставит себе программу. Все копируется как надо, структура папок создается, dll копируются.

Далее заказчик запускает exe-файл - получает ругательство о том, что не найден Qt5Core.dll. Я уже было подумал, что забыл его включить в инсталятор - но он там есть, на комп к заказчику тоже поставился... А дальше - интереснее. В окошке, в котором сообщается, что нет Qt5Core.dll - есть кнопочки закрытия и кнопочка ОК. Так вот, если нажать кнопку ОК - окно закрывается, но спустя секунд 5-10 - ....вдруг открывается окно с моей программой, которая работает как ни в чем не бывало. 

А если программу закрыть и запупустить снова, то запуск происходит нормально и сразу, никаких ругательств ни на какие dll нет. То есть проблема есть только при первом запуске при установке приложения в новую папку. 
Если установить в другую - происходит все то же самое - первый запуск - ругателство на dll - нормальный запуск программы спустя 5-10 секунд - отсутствие ошибки при повторных запусках.

Может, кто-то подскажет, чем вызван такой эффект?

В программе используются: библиотеки для работы с xml, sql, gui.
Вот про-файл:
Код

#-------------------------------------------------
#
# Project created by QtCreator 2015-09-06T13:21:16
#
#-------------------------------------------------
QMAKE_CXXFLAGS += -std=c++11

QT       += core gui
QT += sql
QT += xml


greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = BageDesigner
TEMPLATE = app

SOURCES += main.cpp\
        mainwindow.cpp \
    ../common/db.cpp \
    ../common/MaketData.cpp \
    ../common/mvscene.cpp

HEADERS  += mainwindow.h \
    ../common/db.h \
    ../common/MaketData.h \
    ../common/mvscene.h

FORMS    += mainwindow.ui

RESOURCES += \
    resource.qrc

RC_FILE = exeicon.rc




Вот список dll, которые устанавливаются вместе с программой (кусок скрипта из NSIS):

Код

Section "DllFles" SEC02
  SetOutPath "$INSTDIR\accessible"
  File "..\..\Release\release\accessible\qtaccessiblequick.dll"
  File "..\..\Release\release\accessible\qtaccessiblewidgets.dll"
  SetOutPath "$INSTDIR\iconengines"
  File "..\..\Release\release\iconengines\qsvgicon.dll"
  SetOutPath "$INSTDIR\imageformats"
  File "..\..\Release\release\imageformats\qdds.dll"
  File "..\..\Release\release\imageformats\qgif.dll"
  File "..\..\Release\release\imageformats\qicns.dll"
  File "..\..\Release\release\imageformats\qico.dll"
  File "..\..\Release\release\imageformats\qjp2.dll"
  File "..\..\Release\release\imageformats\qjpeg.dll"
  File "..\..\Release\release\imageformats\qmng.dll"
  File "..\..\Release\release\imageformats\qsvg.dll"
  File "..\..\Release\release\imageformats\qtga.dll"
  File "..\..\Release\release\imageformats\qtiff.dll"
  File "..\..\Release\release\imageformats\qwbmp.dll"
  File "..\..\Release\release\imageformats\qwebp.dll"
  SetOutPath "$INSTDIR\platforms"
  File "..\..\Release\release\platforms\qwindows.dll"
  SetOutPath "$INSTDIR\sqldrivers"
  File "..\..\Release\release\sqldrivers\qsqlite.dll"
  File "..\..\Release\release\sqldrivers\qsqlmysql.dll"
  File "..\..\Release\release\sqldrivers\qsqlodbc.dll"
  File "..\..\Release\release\sqldrivers\qsqlpsql.dll"
  SetOutPath "$INSTDIR"
  File "C:\Qt\Qt5.3.0\5.3\mingw482_32\bin\Qt5Xml.dll"
  File "C:\Qt\Qt5.3.0\5.3\mingw482_32\bin\Qt5Widgets.dll"
  File "C:\Qt\Qt5.3.0\5.3\mingw482_32\bin\Qt5Sql.dll"
  File "C:\Qt\Qt5.3.0\5.3\mingw482_32\bin\Qt5Gui.dll"
  File "C:\Qt\Qt5.3.0\5.3\mingw482_32\bin\Qt5Core.dll"
  File "C:\Qt\Qt5.3.0\5.3\mingw482_32\bin\libwinpthread-1.dll"
  File "C:\Qt\Qt5.3.0\5.3\mingw482_32\bin\libstdc++-6.dll"
  File "C:\Qt\Qt5.3.0\5.3\mingw482_32\bin\libgcc_s_dw2-1.dll"
  File "C:\Qt\Qt5.3.0\5.3\mingw482_32\bin\icuuc52.dll"
  File "C:\Qt\Qt5.3.0\5.3\mingw482_32\bin\icuin52.dll"
  File "C:\Qt\Qt5.3.0\5.3\mingw482_32\bin\icudt52.dll"


; Shortcuts
  !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
  !insertmacro MUI_STARTMENU_WRITE_END
SectionEnd





--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
math64
Дата 29.10.2015, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Укажите какая ОС и антивирус используется, скорее всего при первом запуске dll блокируется антивирусом.
PM   Вверх
borisbn
Дата 29.10.2015, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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





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


Терминатор
**


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

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



math64, извиняюсь за долгое молчание, было никак не получить эту информацию от того заказчика.
У него Windows 7 профессионал 64х, аваст.


borisbn, почитал, хотя и не очень совершенен в английском. Как я понял, они решили эту проблему установкой программы не в стандартные папки windows, а в другое место (в их примере - на раздел D:\). Это не выглядит решением проблемы - скажем так, не очень хорошо пользователю захламливать корневые разделы дисков дополнительными папками при установке своих программ. Разве что только как крайняя мера.



Это сообщение отредактировал(а) Dreamer_0x01 - 4.11.2015, 13:04


--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
math64
Дата 5.11.2015, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Dreamer_0x01 @  4.11.2015,  13:03 Найти цитируемый пост)
math64, извиняюсь за долгое молчание, было никак не получить эту информацию от того заказчика.
У него Windows 7 профессионал 64х, аваст.

К сожалению, сам не могу ничего посоветовать - у меня старая машина с Windows XP.
Но эта информация нужна другим, кто захочет ответить.
Если у Вас есть чистая машина, попробуте поставить на неё эту ОС и антивирус и попробовать разобраться, что происходит.

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

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

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


 




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


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

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