PDA

View Full Version : Yet another windows deployment issue



Marco Trapanese
10th March 2013, 08:36
Hello,
I've already read the docs (see below) and several other thread on this topic. Still I have some troubles.

I have to deploy a Qt 5.0.1 (mingw) application to a windows environment. On the development machine the application runs without problem with these files in the exe folder:



platforms
qminimal.dll
qwindows.dll
D3DCompiler_43.dll
icudt49.dll
icuin49.dll
icuuc49.dll
libEGL.dll
libgcc_s_sjlj-1.dll
libGLESv2.dll
libstd++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll


But on the customer's machine it complains about the missing of C++ runtime.
So I asked him to download and install the following libraries:

http://www.microsoft.com/it-it/download/details.aspx?id=5555 ('http://www.microsoft.com/it-it/download/details.aspx?id=5555')

But when he tries to install them the installer says there is a newer version already installed.
Furthermore, the Qt docs at:

http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html ('http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html')

says:


In addition, the archive must contain the following compiler specific libraries depending on your version of Visual Studio:
VC++ 8.0 (2005) VC++ 9.0 (2008) VC++ 10.0 (2010)
The C run-time msvcr80.dll msvcr90.dll msvcr100.dll
The C++ run-time msvcp80.dll msvcp90.dll msvcp100.dll


But I doesn't have any version of Visual Studio installed!
Anyway I tried to explore the dependencies using depend.exe. It shows a link to msvcrt.dll in windows/system32 and nothing about the files above.

So the questions is: how to *exactly* collect *all* the libraries needed to run my application in the target machine?
Thanks in advance!

wysota
10th March 2013, 17:33
If you used MinGW then installing any possible version of the runtime for the Microsoft C compiler will not help. You need to deploy the runtime for MinGW.

Marco Trapanese
10th March 2013, 17:37
Thank you for the hint.
Anyway when the application is started on the target machine it requests the "Microsoft C++ runtimes".
What are the libraries needed for a mingw deployment?

wysota
10th March 2013, 20:35
Anyway when the application is started on the target machine it requests the "Microsoft C++ runtimes".
In that case you either installed an incorrect version of Qt or this has nothing to do with Qt.

Marco Trapanese
11th March 2013, 08:14
I installed this version of Qt5:

http://releases.qt-project.org/qt5/5.0.1/qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe

and I followed the docs for a windows deplyoment (url in the first post).
Because it doesn't work I'm asking how to collect the correct libraries, without random trials.
I want to learn how to deploy my applications without any issue.

wysota
11th March 2013, 08:37
Use the dependency walker.

Marco Trapanese
11th March 2013, 08:44
ehm... in the first post I said I've already used the dependency walker!
But the problem is even with a minimal application which doesn't uses any third party libraries I cannot get the exe running on other machines.

So I ask you one time more: which libraries are *really* needed to run a pure qt5 application?
I copied all those indicated in the docs but it doens't work!

Thanks again

wysota
11th March 2013, 10:04
ehm... in the first post I said I've already used the dependency walker!
And that is all you need.


But the problem is even with a minimal application which doesn't uses any third party libraries I cannot get the exe running on other machines.
I'm not in your shoes, I don't know what you did exactly. So far I know you're using MinGW compiler and the application claims to be built with a different compiler.


So I ask you one time more: which libraries are *really* needed to run a pure qt5 application?
I copied all those indicated in the docs but it doens't work!

Don't copy what is "indicated" but rather use the dependency walker to check which are really required.

artt
25th March 2015, 22:50
I try to open Qcreator but have error on msvcp100.dll. I copy it to bin and system folder but it does not change anything.In intenet I have read it is due to the missiing other dll with thisone, that could be viewed in Total Comander. But it show just files with such extensions as .exe, .com, .bat. So i could not do it. MAybe you could tip me what other dll arein one complect with msvcp100.dll

jefftee
26th March 2015, 00:49
If you can move your app to Qt 5.2 or higher, you can use the packaging tool windeployqt. I don't do windows, but the mac version (macdeployqt) is very useful in packaging the required dynamic libraries required to run the application.

wysota
26th March 2015, 06:19
I try to open Qcreator but have error on msvcp100.dll.
How did you install Qt Creator?

artt
26th March 2015, 18:25
Is it joke? This dll needs for opening Qcreator. But I have either this, either that. I could not make this dll workable. Even the registerinG recall the error. Then I read that I need to see in properties in Total Commander about its linkage with other dll that should be the same set f.e. From VStudio. So I need know this linkage then I could download another dll from this set and place in the same folder -- then it should be workable to work in Qcreator I hope... Or maybe this dll example is corrupted but unlikely, but you can download you variant, f.i.exactly from VS

artt
27th March 2015, 14:16
So could anybody download that mising dll and connected ones?

wysota
27th March 2015, 20:53
Is it joke?
Do you always answer a question with another question? (See? I can do that too)


This dll needs for opening Qcreator.
Everything Qt Creator needs to run is in its installation package. You don't need to download any other files from anywhere.

So would you care to answer my question?

artt
28th March 2015, 22:03
You are right. Evrything are in qtinstallation file, but vcredist (about 7 mb) do not unpacks (installs) in my windows xp, so this dll and other ones do not appear at qtcreator installation folder. So even simple copying do not help as this dll is connected with others ones. So I need probbaly the whole installed vcredist package? Can anybody deliver me? In other way I would not be able to use exceot portable version of qtcreator. (I can not to isntall this vcredist due to the fact that it yuse the msi.installer so this installer do not work at my win xp -- and I do not want to reinstall it: when i tried to install the very vcredist the error was the same as during other installation that use msi installer and this issue I cannot cure a long time).

Added after 55 minutes:

stackoverflow.com/questions/21283863/msvcp100-dll-not-found-error-even-when-it-is-installed -- according to it I just needed to download msvcr100.dll -- and I probably would be able to use Qtcreator several days--but forum did not suggested. According to the next site this redist has just 4 files ---stackoverflow.com/questions/176992/visual-c-redistributables-without-using-vcredist-x86-exe -- or it is not quitly true about a whole list of redistr files.

artt
28th March 2015, 23:44
I have downloaded these 2 files but there is another error when trying to launch creator probably due to different version (slighty but different) despite from the same site. www.rhyous.com/2012/03/29/msvcr100-dll-download/ ---But I hope in this set there will the whole set of the same version dll. So I just not ask question to question but make answers to my questions.