[ask]Deploy QtWebEngine on Windows?



  • Hi all,
    I tried to deploy quicknanobrowser which is example of QtWebEngine.
    First I run windeployqt.exe on bin folder of Qt installation folder to the exe file.
    C:\Qt\Qt5.4.1\5.4\msvc2013_64\bin>windeployqt.exe C:\Qt\Qt5.4.1\Examples\Qt-5.4
    webengine\build-quicknanobrowser-Desktop_Qt_5_4_1_MSVC2013_64bit-Release\release
    \quicknanobrowser.exe
    It copied .dll files and all necessary files to exe directory.

    I'm able to run it correctly in on my PC without using QtCreator, but when I copy all files in release folder to other computer, nothing happened.
    There is a running process, but it did not show anything, and then the process just gone.
    [img]http://s4.postimg.org/vrmi3j0cd/Untitled.png[/img]

    I already install Visual C++ Redistributable Packages on that PC and using latest Qt5.4.1.
    Is there anyone know the solution?
    Thank you.


  • Moderators

    @fpermana said:

    I'm able to run it correctly in on my PC without using QtCreator, but when I copy all files in release folder to other computer, nothing happened.
    There is a running process, but it did not show anything, and then the process just gone.

    Hi, sounds like a missing plugin (Windeployqt might miss some plugins). Or, the other computer doesn't have the required graphics drivers.

    On your own PC, rename C:\Qt\ to C:\QtHidden. Then, try to launch the program without Qt Creator again. Does it still work?



  • @fpermana :
    Did you copy QtWebEngineProcess.exe along with all dependent .dll ? You can find QtWebEngineProcess.exe in bin folder itself.



  • @JKSH said:

    @fpermana said:

    I'm able to run it correctly in on my PC without using QtCreator, but when I copy all files in release folder to other computer, nothing happened.
    There is a running process, but it did not show anything, and then the process just gone.

    Hi, sounds like a missing plugin (Windeployqt might miss some plugins). Or, the other computer doesn't have the required graphics drivers.

    On your own PC, rename C:\Qt\ to C:\QtHidden. Then, try to launch the program without Qt Creator again. Does it still work?

    Hi JKSH, I manage to run the application on my target PC by add more copied folders.
    They are QtQuick, QtQuick.2, and QtWebEngine from C:\Qt\Qt5.4.1\5.4\msvc2013_64\qml.
    But when I run, it shows a "has stopped working dialog".
    http://s13.postimg.org/msyz583h3/Untitled2.png

    On my development PC, I tried your suggestion to rename C:\Qt to C:\QtHidden and run again quicknanobrowser.exe from my release folder.
    It also shows same dialog, "has stopped working dialog".
    I also found that quicknanobrowser.exe automatically create folder C:\Qt and complete path C:\Qt\Qt5.4.1\5.4\msvc2013_64.
    So I copied some files from C:\QtHidden\Qt5.4.1\5.4\msvc2013_64 to C:\Qt\Qt5.4.1\5.4\msvc2013_64.
    They are .dat, icudtl.dat, and qtwebengine_resources.pak.
    Finally it run without error.
    It looks like quicknanobrowser.exe, did not read that three files on the same folder, but keep on reading to Qt installation folder.

    Currently I only test in on development PC, but I'll try on my target PC.
    Hope I can get a good result.
    Thank you.

    @yogeshpatel23 said:

    @fpermana :
    Did you copy QtWebEngineProcess.exe along with all dependent .dll ? You can find QtWebEngineProcess.exe in bin folder itself.

    Hi yogeshpatel23, yes I did copied all dll and QtWebEngineProcess.exe.



  • I've tried the same thing on the target PC (copy icudtl.dat, and qtwebengine_resources.pak to C:\Qt\Qt5.4.1\5.4\msvc2013_64), and quicknanobrowser.exe run without problem.

    My next question, is this kind of bug on Qt and could it be solved on next Qt release?
    or I should do same thing to every application that use QtWebEngine module?
    thank you.



  • @fpermana :
    I am not very much sure about the logic behind icudtl.dat file...the path of icudtl.dat dependency should be configurable from .pro or something else...I am also trying to figure out same..



  • I had a similar problem.
    You can try to fix in this way:

    • do enable console loggin' adding CONFIG += console into the .pro file
    • rebuild and launch again the application: now every qDebug() message and other errors appear in a terminal
    • now you can follow what QT is saying that is missing (in my case libEGL.dll libGLESv2.dll and opengl32sw.dll)

    Hope this can help.


Log in to reply