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.DLLYou 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.dllAnd 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? -
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.exethanks in advance