How to start Installation Framework



  • Hello guys,

    I finished the application and want to start the installation framework to create the setup file .. but i don't know where is the starting point ..

    • should i recompile Qt with static configuration?
    • when i run the released exe file, it asks about QtSql4.dll and QtCore4.dll when i copy them it complains for some function ..

    any idea where to start?

    thanks in advance
    regards,



  • Try with "http://sourceforge.net/projects/nsis/":http://sourceforge.net/projects/nsis/

    To run your application you must include all these files that pop up in error message in the same folder as .exe... This is called dynamic linking...

    Static linking is when all .dlls are built with app and then you have only one file (But big size): .exe

    If you want to use install script then I guess dynamic linking is a way better... That means all your .dlls would be located in "Program Files" app folder...

    Use "http://www.dependencywalker.com/":http://www.dependencywalker.com/ to find out which .dlls your app need to run...

    Your folder should looks like this:
    app.exe
    something.dll
    something.dll
    something.dll
    something.dll
    platforms/qwindows.dll (If app is for windows)
    plugin1folder // If necessary you must also include plugins
    plugin2folder // If necessary you must also include plugins



  • Download version for your OS from "Qt Installer Framework":http://download.qt-project.org/official_releases/qt-installer-framework/1.5.0/
    and manual is here "Qt Installer Framework Manual":http://qt-project.org/doc/qtinstallerframework-1.5/index.html



  • I will do a dynamic linking .. but i am lost with IFW and dont know where to start even with the manual ..

    Should i create a config.xml file? can you point me where to start ..
    is it possible for IFW to collect all dependencies ?

    When i run the exe file alone, it asks about QtCore4 dll and when i copy it together with another Qt dll, it says dont find starting point of a certain function, do i copy the correct dll ?



  • "http://www.dependencywalker.com/":http://www.dependencywalker.com/ will tell you what .dlls you are missing...



  • thanks you guys, with the dependencywalker I get the following files required ... do i really need to pack them in the installer? I wonder why does it use hp files? !!!! Please have a look on them and tell me which ones i should pack and which ones are already with windows ..

    thanks ..

    @QTNETWORK4.DLL
    QTSQL4.DLL
    IESHIMS.DLL
    c:\program files (x86)\hp\digital imaging\bin\qt\qt 4.3.3\QTCORE4.DLL
    c:\program files (x86)\hp\digital imaging\bin\qt\qt 4.3.3\QTGUI4.DLL
    c:\program files (x86)\hp\digital imaging\bin\MSVCR80.DLL
    c:\win\system32\ADVAPI32.DLL
    c:\win\system32\API-MS-WIN-CORE-CONSOLE-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-DATETIME-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-DEBUG-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-DELAYLOAD-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-FIBERS-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-FILE-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-HANDLE-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-HEAP-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-INTERLOCKED-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-IO-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-LIBRARYLOADER-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-LOCALIZATION-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-LOCALREGISTRY-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-MEMORY-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-MISC-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-NAMEDPIPE-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-PROCESSENVIRONMENT-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-PROCESSTHREADS-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-PROFILE-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-RTLSUPPORT-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-STRING-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-SYNCH-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-THREADPOOL-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-CORE-UTIL-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-SECURITY-BASE-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-SERVICE-CORE-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-SERVICE-MANAGEMENT-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-SERVICE-MANAGEMENT-L2-1-0.DLL
    c:\win\system32\API-MS-WIN-SERVICE-WINSVC-L1-1-0.DLL
    c:\win\system32\COMDLG32.DLL
    c:\win\system32\GDI32.DLL
    c:\win\system32\IMM32.DLL
    c:\win\system32\KERNEL32.DLL
    c:\win\system32\KERNELBASE.DLL
    c:\win\system32\LPK.DLL
    c:\win\system32\MSCTF.DLL
    c:\win\system32\MSVCR100.DLL
    c:\win\system32\MSVCRT.DLL
    c:\win\system32\NSI.DLL
    c:\win\system32\NTDLL.DLL
    c:\win\system32\OLE32.DLL
    c:\win\system32\OLEAUT32.DLL
    c:\win\system32\RPCRT4.DLL
    c:\win\system32\SHELL32.DLL
    c:\win\system32\SHLWAPI.DLL
    c:\win\system32\USER32.DLL
    c:\win\system32\USP10.DLL
    c:\win\system32\WINMM.DLL
    c:\win\system32\WINSPOOL.DRV
    c:\win\system32\WS2_32.DLL
    c:\win\winsxs\amd64_microsoft.win.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac\COMCTL32.DLL
    c:\win\system32\ACLUI.DLL
    c:\win\system32\ACTIVEDS.DLL
    c:\win\system32\ADSLDPC.DLL
    c:\win\system32\ADVPACK.DLL
    c:\win\system32\API-MS-WIN-SECURITY-LSALOOKUP-L1-1-0.DLL
    c:\win\system32\API-MS-WIN-SECURITY-SDDL-L1-1-0.DLL
    c:\win\system32\APPHELP.DLL
    @



  • @
    c:\win\system32\ATL.DLL
    c:\win\system32\AUTHZ.DLL
    c:\win\system32\BCRYPT.DLL
    c:\win\system32\BROWCLI.DLL
    c:\win\system32\CABINET.DLL
    c:\win\system32\CERTCLI.DLL
    c:\win\system32\CERTENROLL.DLL
    c:\win\system32\CFGMGR32.DLL
    c:\win\system32\CLBCATQ.DLL
    c:\win\system32\CREDUI.DLL
    c:\win\system32\CRYPT32.DLL
    c:\win\system32\CRYPTBASE.DLL
    c:\win\system32\CRYPTSP.DLL
    c:\win\system32\CRYPTUI.DLL
    c:\win\system32\CSCAPI.DLL
    c:\win\system32\DAVHLPR.DLL
    c:\win\system32\DBGHELP.DLL
    c:\win\system32\DEVMGR.DLL
    c:\win\system32\DEVOBJ.DLL
    c:\win\system32\DEVRTL.DLL
    c:\win\system32\DFSCLI.DLL
    c:\win\system32\DHCPCSVC.DLL
    c:\win\system32\DHCPCSVC6.DLL
    c:\win\system32\DNSAPI.DLL
    c:\win\system32\DRVSTORE.DLL
    c:\win\system32\DSROLE.DLL
    c:\win\system32\DUI70.DLL
    c:\win\system32\DUSER.DLL
    c:\win\system32\DWMAPI.DLL
    c:\win\system32\EAPPCFG.DLL
    c:\win\system32\EFSADU.DLL
    c:\win\system32\EFSUTIL.DLL
    c:\win\system32\FMS.DLL
    c:\win\system32\GPAPI.DLL
    c:\win\system32\GPSVC.DLL
    c:\win\system32\HLINK.DLL
    c:\win\system32\IEFRAME.DLL
    c:\win\system32\IERTUTIL.DLL
    c:\win\system32\IEUI.DLL
    c:\win\system32\IMAGEHLP.DLL
    c:\win\system32\IMGUTIL.DLL
    c:\win\system32\INETCOMM.DLL
    c:\win\system32\IPHLPAPI.DLL
    c:\win\system32\LINKINFO.DLL
    c:\win\system32\LOGONCLI.DLL
    c:\win\system32\MFC42U.DLL
    c:\win\system32\MLANG.DLL
    c:\win\system32\MMDEVAPI.DLL
    c:\win\system32\MPR.DLL
    c:\win\system32\MPRAPI.DLL
    c:\win\system32\MPRMSG.DLL
    c:\win\system32\MSASN1.DLL
    c:\win\system32\MSFEEDS.DLL
    c:\win\system32\MSHTML.DLL
    c:\win\system32\MSI.DLL
    c:\win\system32\MSILTCFG.DLL
    c:\win\system32\MSIMG32.DLL
    c:\win\system32\MSLS31.DLL
    c:\win\system32\MSOERT2.DLL
    c:\win\system32\MSRATING.DLL
    c:\win\system32\MSSIGN32.DLL
    c:\win\system32\NCRYPT.DLL
    c:\win\system32\NDFAPI.DLL
    c:\win\system32\NETAPI32.DLL
    c:\win\system32\NETBIOS.DLL
    c:\win\system32\NETJOIN.DLL
    c:\win\system32\NETPLWIZ.DLL
    c:\win\system32\NETUTILS.DLL
    c:\win\system32\NEWDEV.DLL
    c:\win\system32\NLAAPI.DLL
    c:\win\system32\NORMALIZ.DLL
    c:\win\system32\NTDSAPI.DLL
    c:\win\system32\NTSHRUI.DLL
    c:\win\system32\OCCACHE.DLL
    c:\win\system32\ODBC32.DLL
    c:\win\system32\OLEACC.DLL
    c:\win\system32\OLEDLG.DLL
    c:\win\system32\PCWUM.DLL
    c:\win\system32\POWRPROF.DLL
    c:\win\system32\PRINTUI.DLL
    c:\win\system32\PROFAPI.DLL
    c:\win\system32\PROPSYS.DLL
    c:\win\system32\PSAPI.DLL
    c:\win\system32\PUIAPI.DLL
    c:\win\system32\RASAPI32.DLL
    c:\win\system32\RASDLG.DLL
    c:\win\system32\RASMAN.DLL
    c:\win\system32\REGAPI.DLL
    c:\win\system32\RSTRTMGR.DLL
    c:\win\system32\RTUTILS.DLL
    c:\win\system32\SAMCLI.DLL
    c:\win\system32\SAMLIB.DLL
    c:\win\system32\SCECLI.DLL
    c:\win\system32\SECUR32.DLL
    c:\win\system32\SENSAPI.DLL
    c:\win\system32\SETUPAPI.DLL
    c:\win\system32\SHDOCVW.DLL
    c:\win\system32\SLC.DLL
    c:\win\system32\SPFILEQ.DLL
    c:\win\system32\SPINF.DLL
    c:\win\system32\SPPC.DLL
    c:\win\system32\SRVCLI.DLL
    c:\win\system32\SSPICLI.DLL
    c:\win\system32\SYSNTFY.DLL
    c:\win\system32\TAPI32.DLL
    c:\win\system32\URLMON.DLL
    c:\win\system32\USERENV.DLL
    c:\win\system32\UXTHEME.DLL
    c:\win\system32\VAULTCLI.DLL
    c:\win\system32\VERSION.DLL
    c:\win\system32\VPNIKEAPI.DLL
    c:\win\system32\W32TOPL.DLL
    c:\win\system32\WDI.DLL
    c:\win\system32\WEBIO.DLL
    c:\win\system32\WEBSERVICES.DLL
    c:\win\system32\WER.DLL
    c:\win\system32\WERUI.DLL
    c:\win\system32\WINBRAND.DLL
    c:\win\system32\winCODECS.DLL
    c:\win\system32\WINHTTP.DLL
    c:\win\system32\WININET.DLL
    c:\win\system32\WINNSI.DLL
    c:\win\system32\WINSCARD.DLL
    c:\win\system32\WINSTA.DLL
    c:\win\system32\WINTRUST.DLL
    c:\win\system32\WKSCLI.DLL
    c:\win\system32\WLDAP32.DLL
    c:\win\system32\WTSAPI32.DLL
    c:\win\system32\XMLLITE.DLL
    c:\win\winsxs\amd64_microsoft.win.gdiplus_6595b64144ccf1df_1.1.7601.18120_none_2b25b14c71ebf230\GDIPLUS.DLL
    c:\win\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\MSVCP80.DLL
    c:\win\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\MSVCR80.DLL
    d:\LOGIN.EXE

    @



  • You only need to include Qt .dlls...

    QTNETWORK4.DLL
    QTSQL4.DLL
    QTCORE4.DLL
    QTGUI4.DLL

    You might also need
    icudt51.dll (I think Qt 5 has 51 at the end... You might have some different numbers with Qt4)
    icuin51.dll
    icuuc51.dll
    libEGL.dll
    libGLESv2.dll

    And you also need to include platform folder...

    Just include what it says in error when you run it...



  • I don't find QTSQL4.dll and QTCore4.dll in the system .. But i have SQLitebrowser and these files were packed with it .. If i use these files, it complains of a missing starting point ..

    Any idea where these files are?



  • I got mine in C:\Qt\Qt5.2.1\5.2.1\msvc2012\bin

    You must have it there... Maybe Qt4Sql.dll



  • Some useful links:
    "Qt for Windows - Deployment":http://qt-project.org/doc/qt-5/windows-deployment.html
    "Deploy an Application on Windows":http://qt-project.org/wiki/Deploy_an_Application_on_Windows



  • I added the required files but i get "cannot connect to database"
    the Qtsql4.dll file is included .. But i don't know where the error may come from?


  • Lifetime Qt Champion

    Hi,

    And the sql plugins ?



  • what are the sql plugins?



  • Since you're using Qt 4 try search at:
    [QtPath]\Desktop\Qt\4.8.1\mingw\plugins\sqldrivers
    4.8.1 - probably you have another version
    put sqldrivers folder beside executable.



  • I found the sqldrivers and put the file once in the same folder and once put the sqldrivers folder in the same folder as the exe file ..

    But the problem persists ..
    I would appreciate if you try to download my app and test it
    http://download.pcfone.com/ArabicTypingTutor2014.exe

    thanks in advance


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.