Russian Qt Forum
Май 17, 2024, 19:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Полный релиз программы на QT  (Прочитано 28846 раз)
joktar
Гость
« Ответ #15 : Январь 12, 2006, 18:43 »

C Nullsoft Installer'ом все просто:
качается дистрибутив, из него выдирается каталог Stubs и makensis(w):
затем делается конфиг наподобие:
(конфиг сделан для создания инсталлятор debug-версии написанной на qt4 программы, кое что оторвано)
;NSIS X3D R2 Installer script                                  
;Also Template script for X3D Toolkit-based programs
;(c) Dmitriy Kazimirow 2005
;TODO:Add contact URL,etc to Add/Remove programs
;TODO:Make Qt-based configuration reader for settings made via installer
;Planned solution:use QSettings,which could read HKML <Developer> \ <Program>
;--------------------------------

;Slow but maximal compression
;4,479 Kb install size
;SetCompressor /SOLID lzma

;DEFINES += X3D_VER=\"0.21\" OGIS_T_VER=\"0.60\"
; The name of the installer
Name "X3D Alpha 3(X3D Toolkit R2 v0.30,Codename Talia)"

; The file to write
OutFile "x3dr2_v030_talia_app_installer.exe"

; The default installation directory
InstallDir "$PROGRAMFILES\Dmitriy Kazimirow\X3D Toolkit\X3DR2"

; Registry key to check for directory (so if you install again, it will
; overwrite the old one automatically)
InstallDirRegKey HKLM "Software\Dmitriy Kazimirow\X3D Toolkit\X3DR2" "Install_Dir"

BrandingText "X3D Toolkit Release 2(v0.30 Codename Talia) - based app"
Caption "Установка приложения на базе X3D R2 v0.30"
InstallButtonText "Установка"
XPStyle on                    

;--------------------------------

; Pages

Page components
Page directory
Page instfiles

UninstPage uninstConfirm
UninstPage instfiles

;--------------------------------

; The stuff to install
; Сама программа PCT
Section "Core"
  SetOutPath $INSTDIR
  File ..\debug\x3dr2_msvc_dbg.exe  
  File ..\docs\license.txt
  ; Write the installation path into the registry
  WriteRegStr HKLM "Dmitriy Kazimirow\X3D Toolkit\X3DR2" "Install_Dir" "$INSTDIR"
  ; Куда установлен X3DR2 Toolkit
  WriteRegStr HKCU "Software\Dmitriy Kazimirow\OrganizationDefaults" "X3DR2_InstallDir" "$INSTDIR"  
  ; Write the uninstall keys for Windows
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DKZM_X3DR2" "DisplayName" "X3D R2 Based-app"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DKZM_X3DR2" "UninstallString" '"$INSTDIR\uninstall.exe"'
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DKZM_X3DR2" "NoModify" 1
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DKZM_X3DR2" "NoRepair" 1
  WriteUninstaller "uninstall.exe"
;
  WriteRegStr HKCU "Software\Dmitriy Kazimirow\X3D R2-based app\GlobalConfiguration" "Username" "Дмитрий Казимиров"
  WriteRegStr HKCU "Software\Dmitriy Kazimirow\X3D R2-based app\GlobalConfiguration" "Organization" "Персональная лицензия разработчика"
  WriteRegStr HKCU "Software\Dmitriy Kazimirow\X3D R2-based app\GlobalConfiguration" "LicenseKey" "4V5B-NM4B-N364-12NM-485N-B5NQ-46NM-982N-1BN8-BN94"

  WriteRegStr HKLM "Software\Dmitriy Kazimirow\X3D Toolkit\Licensing" "Customer" "Дмитрий Казимиров"



;Better use something like IMS here,this is versions!
;Here Versions are:
;1-This version(X3D_VER=0.20 OGIS_T_VER=0.45)
;2-
;3-PTC,Beta1,Codename Xanth,X3D_VER=0.21 OGIS_T_VER=0.60,20.10.2005
;4-PTC,Beta2,Codename Dahak,X3D_VER=0.21 OGIS_T_VER=0.60,14.10.2005
;Отличие-ставится нормально
;5-X3D R2,v0.30,X3D_VER=0.30,19.11.2005,шаблон для X3D R2
;6-PTC,Beta3,Codename Asturia,X3D_VER=0.21 OGIS_T_VER=0.60,19.11.2005
;TODO:разделить версии X3D Toolkit и самих программ
;Можно будет сделать когда наконец то будет решено что куда входит
;И сделан X3D Toolkit SDK
  WriteRegDWORD HKLM "Software\Dmitriy Kazimirow\X3D Toolkit" "InstalledVersion" 5





SectionEnd

;Both Qt/QSA and X3D Toolkit
;Not ALL of them are needed for PCT but install anyway
;SideNote:Mingw version of OpenNURBS does not links dynamically
Section "Библиотеки поддержки"
  SetOutPath $INSTDIR
  File ..\redist\msvcp71d.dll
  File ..\redist\msvcr71d.dll
  File ..\redist\msvcp71.dll
  File ..\redist\msvcr71.dll
  File ..\redist\QtCored4.dll
  File ..\redist\QtNetworkd4.dll
  File ..\redist\qsad1.dll
  File ..\redist\QtGuid4.dll
  File ..\redist\QtOpenGLd4.dll
  File ..\redist\Qt3Supportd4.dll
  File ..\redist\QtSqld4.dll
  File ..\redist\QtXmld4.dll
  File ..\debug\opennurbs_d.dll
SectionEnd
Section "Драйвера СУБД"
  SetOutPath $INSTDIR\plugins\sqldrivers
  File ..\redist\plugins\sqldrivers\qsqlited.dll
  File ..\redist\plugins\sqldrivers\qsqlmysqld.dll
  File ..\redist\plugins\sqldrivers\qsqlodbcd.dll
  File ..\redist\plugins\sqldrivers\qsqlpsqld.dll
SectionEnd
Section "Графические форматы"
  SetOutPath $INSTDIR\plugins\imageformats
  File ..\redist\plugins\imageformats\qjpegd1.dll
SectionEnd
Section "Accessibility"
  SetOutPath $INSTDIR\plugins\accessible
  File ..\redist\plugins\accessible\qtcompatwidgetsd1.dll
  File ..\redist\plugins\accessible\qtwidgetsd1.dll
SectionEnd
; Optional section (can be disabled by the user)
Section "Ярлыки главного меню"
; НЕ писать имя разработчика не очень хорошо но не надо слишком явно провоцировать
  CreateDirectory "$SMPROGRAMS\X3D R2(X3D v0.30,Codename Talia)"
  CreateShortCut "$SMPROGRAMS\X3D R2\Удаление X3D R2-based application(X3D v0.30,Codename Talia).lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
  CreateShortCut "$SMPROGRAMS\X3D R2\X3D R2-based app(X3D v0.30,Codename Talia.lnk" "$INSTDIR\x3dr2_msvc_dbg.exe" "" "$INSTDIR\ogis_t_msvc_dbg.exe" 0
  CreateShortCut "$SMPROGRAMS\X3D R2\Лицензия на X3D R2-based app(X3D v0.30,Codename Talia.lnk" "$INSTDIR\license.txt" "" "$INSTDIR\license.txt" 0
 
SectionEnd

; Uninstaller

Section "Uninstall"
 
  ; Remove registry keys
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DKZM_X3DR2"
  DeleteRegKey HKLM "Dmitriy Kazimirow\X3D Toolkit\X3DR2"

  ; Remove plugins and their dirs
  Delete $INSTDIR\plugins\accessible\qtcompatwidgetsd1.dll
  Delete $INSTDIR\plugins\accessible\qtwidgetsd1.dll
  RMDir  $INSTDIR\\plugins\\accessible
  Delete $INSTDIR\plugins\imageformats\qjpegd1.dll
  RMDir  $INSTDIR\\plugins\\imageformats
  Delete $INSTDIR\plugins\sqldrivers\qsqlplsqld.dll
  Delete $INSTDIR\plugins\sqldrivers\qsqlmysqld.dll
  Delete $INSTDIR\plugins\sqldrivers\qsqlsqlited.dll
  Delete $INSTDIR\plugins\sqldrivers\qsqlodbcd.dll
  RMDir  $INSTDIR\\plugins\\sqldrivers
  RMDir  $INSTDIR\\plugins

  ; Remove support libs
  Delete $INSTDIR\qsad1.dll
  Delete $INSTDIR\Qt3Supportd4.dll
  Delete $INSTDIR\QtOpenGLd4.dll
  Delete $INSTDIR\QtNetworkd4.dll
  Delete $INSTDIR\QtNetwork4.dll
  Delete $INSTDIR\QtSqld4.dll
  Delete $INSTDIR\QtGuid4.dll
  Delete $INSTDIR\QtXmld4.dll
  Delete $INSTDIR\QtCored4.dll
  Delete $INSTDIR\QtCore4.dll
  Delete $INSTDIR\opennurbs_d.dll
  Delete $INSTDIR\msvcp71d.dll
  Delete $INSTDIR\msvcr71d.dll
  Delete $INSTDIR\msvcp71.dll
  Delete $INSTDIR\msvcr71.dll
 


  ; Remove files and uninstaller
  Delete $INSTDIR\x3dr2_msvc_dbg.exe
  Delete $INSTDIR\license.txt
  Delete $INSTDIR\uninstall.exe

  ; Remove shortcuts, if any
  Delete "$SMPROGRAMS\X3D R2(X3D v0.30,Codename Talia)\*.*"

  ; Remove directories used
  RMDir "$SMPROGRAMS\3D R2(X3D v0.30,Codename Talia)"
  RMDir "$INSTDIR"

SectionEnd


и компилируется:makensis(w) file.nsi, после чего имеем маленький красивый инсталлер.
Записан
npopok
Гость
« Ответ #16 : Май 24, 2006, 16:35 »

Ну qtшные дллки мне подсоединить удалось, но теперь он ругается на отсутствие msvcr71.dll Как с этим быть?
Записан
Grigory
Гость
« Ответ #17 : Июнь 01, 2006, 09:13 »

пользоваться линуксом Улыбающийся
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #18 : Июнь 01, 2006, 10:37 »

таскать ее с собой!
она у тебя где то в C:\WINDOWS\SYSTEM32\
Записан
ElderOrb
Гость
« Ответ #19 : Июнь 01, 2006, 10:46 »

Почему бы не сделать так как это описано здесь: http://qtnode.net/wiki/Qt4_with_Visual_Studio_and_static_C_runtime. После чего полученный экзешник сжать upx-ом. Получится около 1.7 мег экзешничек, зато без депендансов ваще.
Записан
Anchorite
Гость
« Ответ #20 : Июнь 01, 2006, 21:07 »

Почитай ветку по

http://prog.org.ru/forum/topic_3090_413010658d7af162c98bcefba4935119.html

Помоему даны исчерпывающие ответы
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 22.