Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Распространение программ под Windows

Автор: Dimix 7.1.2011, 14:22

Как собрать проэкт? Мои действия Установил Qt написал програмку использующую SQL запустил зашел в debug скопировал туда
libgcc_s_dw2-1 / mingwm10 / phonond4 / QtCored4 / QtGuid4 / QtNetworkd4 / QtSqld4 / QtWebKitd4 все *.dll
которые программа просила используя программу Smart Install Maker создал Setup.exe
Но вот столкнулся с проблемой если мой Setup.exe установить на машину где Qt не установленно программа отказывается создавать базу данных.
Поиск в Google мне не помог. ПОМОГИТЕ.

Автор: Litkevich Yuriy 7.1.2011, 17:44

читай тут: http://wiki.crossplatform.ru/index.php/Развертывание_приложений_Qt_в_MS_Windows

Автор: Dimix 28.1.2011, 21:57

Приложение собираю вручную копирую нужные библиотеки в директорию с *.exe файлом
все отлично работает. Но я решил пойти дальше скачал Smart Install Maker (создание инсталятора)
Закидываю все файлы которые мне необходимы и получаю Setup.exe после установки получаю проблему
Распакованное приложение создает файлы и папки по такому пути
C:\Users\<пользователь>\AppData\Local\VirtualStore\Program Files (x86)\<название моего приложения> а,
я указывал все создания в директории где находится мой *.exe
Может кто-то сталкивался с такой проблемой. Прошу помощи!

Автор: Kagami 28.1.2011, 22:25

У тебя вин7 (при этом 64-х битная, но это не особо важно)? В ней когда у программы нет прав писать в C:\Program Files (x86) (например, она запущена без прав администратора) файлы создаются в профиле по указанному тобой пути, хотя при этом программа продолжает думать что они лежат в C:\Program Files (x86). Вот так в микрософте решили бороться с программами, которые хотят хранить и изменять файлы, лежащие рядом с исполняемым файлом в C:\Program Files (x86).
Твой инсталлятор запускается без прав администратора (видимо на машине включен UAC, но инсталлятор не умеет с ним работать, либо нажали кнопку Отмена при соответствующем запросе), поэтому он не может положить файлы программы в C:\Program Files (x86).

Автор: Dimix 28.1.2011, 22:35

Kagami Спасибо.
А еще вопрос у меня есть файл бд с полями id и registration
при запуске программы я проверяю если в файле поле registration == 1
тогда БЛА БЛА БЛА
если registration == 0
тогда купите лицензию
Вопрос такой когда я ввожу ключ оно говорит типо прога зарегестирована Спасибо. Но при перезапуске программы оно опять требует регистрацию.
(после регистрации в registration записываю 1) и программа идет по алгоритму регистрации но в бд данные не обновляются.
Если не создавать Setup.exe все работает отлично?

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)